TIL 64 | Generator

vi2920va·2022년 6월 10일
0

JavaScript

목록 보기
19/19
post-thumbnail

🤞Iterable Object

  • 이터러블 객체(iterable object)는for..of구문과 함께 ES6에서 도입 되었다.
  • 즉, 이터러블은 어떤 객체이던 간에for..of반복문을 적용하여 할 수 있다.
  • 대표적인 예로는 배열 객체가 있다.

🤞Generator

  • 일반 함수를 사용하의 하나의 값 또는 0개의 값을 반환한다. 하지만 제네레이터(Generator)를 사용하면 여러 개의 값을 필요에 따라 하나씩 반환(yield)할 수 있다.
  • 제네레이터는 함수의 실행을 중간에 멈추고 다시 재개할 수 있기 때문에 전달하는 값을 하나씩 꺼내서 사용할 수 있다.

🤞Generator 사용

제네레이터를 만들기 위해서 function* 사용하여 만든다.

function* generateUser(){
	yield 'beobsa';
	yield 20;
}

let generator = generateUser();
console.log(generator); //[object Generator]

제네레이터의next()메서드를 호출하면 가장 가까운 yield문을 만날 때 까지 실행이 지속되고 이후, yield문을 만나 실행이 멈추고 산출하고자 하는 값인 value가 바깥 코드에 반환된다.

let name = generator.next();
console.log(JSON.stringfy(name)); // {value: 'beobsa', done: false}

Reference

모던 자바스크립트 - 제네레이터 →(SITE)

profile
Front-end Developer 🌱

0개의 댓글