function* (generator function)
2023. 3. 29. 13:53ㆍ개발/토막난 상식
반응형
Generator function은 JavaScript의 함수 유형 중 하나로, 값을 반환하고 호출을 끝내는 대신 값을 생성하고 호출자에게 전달하는 방식으로 작동합니다. 이러한 함수는 함수 내부의 yield 키워드를 사용하여 값을 반환하고 호출 상태를 유지하며, 다음 호출에서 함수 실행을 이어나갈 수 있습니다.
Generator 함수는 일반적으로 for...of 반복문과 함께 사용되어 시퀀스를 생성하거나, 비동기적인 제어 흐름을 생성하는데 유용합니다. 또한 Generator 함수는 메모리를 효율적으로 사용할 수 있어 대용량의 데이터셋을 다루는데 유용합니다.
다음은 Generator 함수의 예시입니다.
function* counter() {
let i = 0;
while (true) {
yield i;
i++;
}
}
const gen = counter();
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
// ...
위 예시에서, counter() 함수는 무한한 while 루프를 가지고 있습니다. 하지만 호출자는 Generator 객체를 통해 next() 메서드를 호출하면서 순차적으로 값을 생성받을 수 있습니다. yield 키워드는 호출자에게 값을 반환하고, 호출 상태를 유지하며 다음 호출에서 실행을 이어나갈 수 있게 합니다.
반응형
'개발 > 토막난 상식' 카테고리의 다른 글
장고의 로그인 써드파티 추천 (0) | 2023.03.30 |
---|---|
REST vs GraphQL (0) | 2023.03.29 |
Redux (0) | 2023.03.29 |
일반적인 페이지의 글씨 크기 (0) | 2023.03.28 |
리액트에서 여러패이지마다 태마 색상을 지정해서 사용 (0) | 2023.03.28 |