본문 바로가기
회고/[WIL] 제로베이스 프론트엔드 스쿨

[프론트엔드스쿨] WIL 16주차

by 복숭아 우유씨 2022. 11. 20.

제로베이스 프론트엔트 스쿨 16주차 WIL

 

Weekly I learned...

1. 모던 자바스크립트 인포를 학습하고 해당 내용을 퀴즈 형태로 복습했다.

https://jasper-postbox-8e9.notion.site/2-1-1-3-82690815df7a4a1991e2189de58aa265

 

2. 비동기 함수의 처리에 대해 고민하다가 제너레이터를 다시 공부하게 되었다. 

조건상 promise를 쓸수 없었고, 비동기, 순환참조 등등 첩첩산중이 되어서 제너레이터를 써볼까 하고 보게 되었다.

아직 제대로 적용을 못했는데, 적용해보기 위해 간략하게 기본사항을 정리해본다.

- 제너레이터 : 코드블록의 실행을 일시 중지 시켰다가 필요한 시점에 재개할 수 있는 특수 함수.

- 함수 호출자에게 함수 실행 제어권을 양도 할 수 있고, 함수 호출자와 상태를 주고 받을 수 있다.

- 제너레이터 함수를 호출하면, 제너레이터 객체를 반환한다. 

- 사용할 때 function* 키워드로 선언해야하고, 함수 선언문으로 혹은 표현식으로도 정의할 수 있으나 화살표 함수로 정의할 수는 없다.

- 하나 이상의 yield가 필요하다.

- 이터러블이면서 이터레이터여서 next 메서드를 갖는다.

- 제너레이터 객체의 next를 호출하면, 처음 만나는 yield표현식까지 실행되고 일시 중지된다. 그후 다시 next를 호출하면 실행이 재개되어 그 다음 yield 표현식까지 실행되고 다시 일시 정지된다. 이것이 return까지 반복된다.

generator.next() -> yield -> generator.next() -> yield -> ... -> generator.next() -> return

- next 메서드에 인수를 전달할 수 있으며, 이 인수는 yield 표현식을 할당 받는 변수에 할당된다.

 

 

 

 

아쉬운 점 / 추후계획

- 리액트 공부를 제대로 못하고 있는데 협업 프로젝트에 들어가게 되어서 정말 큰일이다. 팀플에서 잘하진 못하더라도 피해를 끼치고 싶진 않은데... 빌런이 없으면 내가 빌런이라더니 딱 지금 나인것 같다. 어쩔수 없이 공부하면서 해나갈 수 밖에 없을 것 같다. 우테코가 끝나면 시작할 줄 알았더니 살짝 기간도 겹쳐서 너무너무 바쁜 한주가 될 것 같다. 일을 아주 잘 벌리는 나란 사람....... 힘내자.....

- 그래서 이번주 계획은 우테코를 무사히 마무리 짓고, 리액트 과제를 통해 이해를 한다는 느낌으로 전반적으로 정리를 해봐야겠다.

 

 

 

 


References...

1) 모던 자바스크립트 Deep Dive, 이웅모, 2020, 위키북스

 

 
 
 

 

 

댓글