소개
이 랩에서는 JavaScript 의 제너레이터 (generator) 개념을 탐구합니다. 특히, 특정 조건이 충족될 때까지 새로운 값을 생성하는 제너레이터 함수를 만드는 방법을 배웁니다. 실습 코딩 연습을 통해 제너레이터가 어떻게 작동하는지, 그리고 코드를 단순화하고 성능을 향상시키는 데 어떻게 사용될 수 있는지 더 잘 이해하게 될 것입니다.
주어진 조건이 충족될 때까지 값 생성하기
코딩 연습을 시작하려면 터미널/SSH 를 열고 node를 입력하세요. 그런 다음, 주어진 조건이 충족될 때까지 새로운 값을 생성하는 제너레이터를 만들 수 있습니다.
이 제너레이터를 만들려면 다음 단계를 따르세요:
seed값을 사용하여 현재val을 초기화합니다.- 현재
val로 호출된condition함수가false를 반환하는 동안 반복을 유지하기 위해while루프를 사용합니다. - 현재
val을 반환하고, 선택적으로 새로운 seed 값인nextSeed를 받기 위해yield키워드를 사용합니다. - 현재
val과nextSeed에서 다음 값을 계산하기 위해next함수를 사용합니다.
다음은 예시 코드 조각입니다:
const generateUntil = function* (seed, condition, next) {
let val = seed;
let nextSeed = null;
while (!condition(val)) {
nextSeed = yield val;
val = next(val, nextSeed);
}
return val;
};
적절한 인수로 호출하여 제너레이터를 사용할 수 있습니다. 예를 들어:
[
...generateUntil(
1,
(v) => v > 5,
(v) => ++v
)
]; // [1, 2, 3, 4, 5]
이것은 val이 6과 같을 때 v > 5 조건이 충족되므로 1부터 5까지의 값 배열을 생성합니다.
요약
축하합니다! 조건이 충족될 때까지 생성 (Generate Until Condition Is Met) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.