function* : generator function 제너레이터 함수
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/function*
Generator 객체를 반환
yield
제너레이터 함수를 중지 또는 재개
yield*
다른 generator 또는 이터러블(iterable) 객체에 yield를 위임
다른 제너레이터 호출
//========================================
function* idMaker() {
var index = 0;
while (index < 3)
yield index++;
}
var gen = idMaker();
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // undefined
//======================================
//출력 제한
function* logGenerator() {
console.log(yield);
console.log(yield);
console.log(yield);
}
var gen = logGenerator();
// the first call of next executes from the start of the function
// until the first yield statement
gen.next();
gen.next('pretzel'); // pretzel
gen.next('california'); // california
gen.next('mayonnaise'); // mayonnaise
gen.next('mayonnaise2'); //출력 안됨
'Code > JavaScript' 카테고리의 다른 글
[JavaScript] for 루프 키워드 (0) | 2019.01.01 |
---|---|
[JavaScript] Tips (0) | 2019.01.01 |
[JavaScript] 확산연산자(spread operator , ...) (0) | 2019.01.01 |
[JavaScript] this 문제 (0) | 2019.01.01 |
[JavaScript] 화살표 함수 (arrow function expression) (0) | 2019.01.01 |