강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

남승리님의 프로필 이미지
남승리

작성한 질문수

함수형 프로그래밍과 JavaScript ES6+

filter

generator에 대한 질문입니다.

작성

·

230

1

log(filter( n => n%2, function *() {

    yield 1;

    yield 2;

    yield 3;

    yield 4;

    yield 5;

}() ));

위 코드에서 function *() {...} generator로 인자로 넘어가는데, 혹시 function *() {...}() 에서 마지막에 ()가 붙는 이유가 무엇일까요?

제가 빼고 테스트를 해보니 에러가 발생하는데, 이유를 모르겠습니다.

설명 부탁 드립니다.

감사합니다.

답변 1

0

MDU 유인동님의 프로필 이미지
MDU 유인동
지식공유자

() 를 하지 않으면 제너레이터를 정의만하고 실행은 하지 않은채로 인자로 넘기게 되고, ()를 통해 정의한 제너레이터를 실행하여 이터레이터로 만든 후 인자로 넘기고 있습니다. 감사합니다.

남승리님의 프로필 이미지
남승리

작성한 질문수

질문하기