소개
이 랩에서는 JavaScript 의 제너레이터 (generator) 개념을 살펴보고, 배열을 무한히 반복하는 사이클 제너레이터 (cycle generator) 를 만드는 방법을 배웁니다. yield 키워드와 while 루프를 사용하여 제너레이터를 생성하고, 다양한 배열로 테스트하여 작동 방식을 확인합니다. 이 랩을 마치면 제너레이터에 대한 더 깊은 이해를 얻고, JavaScript 프로젝트에서 제너레이터를 활용하는 방법을 알게 될 것입니다.
사이클 제너레이터 (Cycle Generator) 사용 설명
코딩 연습을 시작하려면 터미널/SSH 를 열고 node를 입력하세요. 그런 다음, 주어진 배열을 무한히 반복하는 제너레이터를 생성합니다. 다음은 단계별 안내입니다.
Generator.prototype.next()가 호출될 때마다 값을yield하는 종료되지 않는while루프를 사용합니다.- 다음 값의 인덱스를 얻기 위해
Array.prototype.length와 모듈 연산자 (%) 를 사용하고, 각yield문 뒤에 카운터를 증가시킵니다.
다음은 cycleGenerator 함수의 예시입니다.
const cycleGenerator = function* (arr) {
let i = 0;
while (true) {
yield arr[i % arr.length];
i++;
}
};
그런 다음 다음과 같이 함수를 사용할 수 있습니다.
const binaryCycle = cycleGenerator([0, 1]);
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
binaryCycle.next(); // { value: 0, done: false }
binaryCycle.next(); // { value: 1, done: false }
이 지침을 통해 모든 배열을 무한히 반복하는 사이클 제너레이터를 생성할 수 있습니다.
요약
축하합니다! 사이클 제너레이터 (Cycle Generator) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.