[ES6+] Generator


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의 정석’을 듣고 정리 =)




© 2018. by sora

Powered by sora