제너레이터(Generator)
- 실행을 멈췄다가 나중에 다시 접근할 수 있는 특이한 형태의 함수
- 나중에 다시 접근하기 위해 context(변수)를 저장된 상태로 남겨둠
- 이터레이터를 좀 더 유연하게 사용할 수 있음
- function 키워드 뒤에 *를 붙여 함수가 제너레이터 함수임을 나타냄
function* 제너레이터명(){
}
yield
- 제너레이터 함수에서 실행을 일시중단 하고, 값을 반환하는 키워드
<script>
function* multipleGenerator(){
try{
for(let i = 0; i<10; i++){
console.log(i);
// yield: 제너레이터 함수에서 실행을 일시중단 하고, 값을 반환하는 키워드
yield i**2;
}
}
catch(error){
console.log(error);
}
}
const multiple = multipleGenerator();
let next = multiple.next(); // 0
console.log(next.value,next.done); // 0 false
next = multiple.next(); // 1
console.log(next.value,next.done); // 1 false
next = multiple.next(); // 2
console.log(next.value,next.done); // 4 false
next = multiple.next(); // 3
console.log(next.value,next.done); // 9 false
</script>
'JavaScript' 카테고리의 다른 글
35. 세트(Set) (0) | 2023.04.13 |
---|---|
34. 스프레드(Spread) (0) | 2023.04.12 |
32. 이터레이터(Iterator) (0) | 2023.04.12 |
31. 이벤트(Event) (0) | 2023.04.12 |
30. wrapper (0) | 2023.04.12 |