[ES6+] Generator
in JavaScript
Generator
pause를 할 수 있는 함수이다
function* listPeople(){
yield "sora";
yield "kat";
yield "alex";
yield "meg";
yield "haley";
}
const listG = listPeople();
consol.elog(listG);
//listPeople {<suspended>}
listG.next()
//{value:"sora", done:false}
//sora만 리턴하는게 아니라 오브젝트를 리턴해줌
//할당된것은 done:false (=generator가 끝나지 않았음을 의미)
listG.next()
//{value:"kat", done:false}
//이런식으로 계속 다음 내용을 호출할것임
//이런식으로 haley까지 다 부르고 나면 그때는
listG.next()
//{value:undefined, done:true}
//할당값이 true가 되면서 generator가 끝났음을 알 수 있다
일반개발자들이 쓴다기 보다는 js뒷배경에서 사용될것이다
노마드코더의 ‘ES6의 정석’을 듣고 정리 =)