본문 바로가기
바닐라코딩/Prep

바닐라코딩 prep 7주차 정리

by Dev_Dank 2021. 9. 4.

바닐라코딩의 prep 과정을 수강한 내용을 정리한 포스팅입니다.


강의

이번주 강의는 클로저, 실행컨텍스트, 재귀에 관한 내용이었습니다. 
모던 자바스크립트 deep dive의 해당 챕터를 같이 읽는 것이 이해에 큰 도움이 되었습니다. 

클로저
- 함수가 생성될때 당시의 주변환경을 기억하는 것을 의미합니다. (함수가 생성될때 라는 점이 중요!)
- 자바스크립트는 기본적으로 let, const 가 블록 스코프, var가 함수 스코프를 지닌 다는 점을 기억하면 이해하기 쉽습니다. 

실행 컨텍스트
- 클로저와 맞물리는 개념입니다. 
- 함수가 실행 될때 마다 콜스택에 실행 컨텍스트가 생성됩니다.

재귀
- 자기자신을 호출하는 함수입니다. 
- 종료조건을 반드시 붙여주어야 스택 오버플로우가 발생하지 않습니다. 

추가로 프렙코스를 수강중이신분께서 클로저관련 퀴즈를 공유해주셔서 추가로 풀어봤습니다. 
https://dmitripavlutin.com/javascript-closures-interview-questions/

 

7 Interview Questions on JavaScript Closures. Can You Answer Them?

I compiled a list of 7 interesting and increasingly challenging questions on JavaScript closures. Can you answer them?

dmitripavlutin.com


과제

코드리뷰에서 받은 개선점위주로 정리해보려 합니다. 

- 배열의 length 속성을 굳지 변수에 따로 담아서 활용할 필요는 없을것 같음. 

- for in 문을 사용시 객체의 프로토타입 체인까지 타고 올라가기 때문에 가드가 필요함. 

- if 문의 조건이 길어질경우 개행을 통해서 가독성을 높일수 있다. 

- 매개변수에 대한 제항당은 하지말고 복사후 사용할 것.

- arguments는 유사 배열이기 때문에 배열로 사용하기 위해서는 배열로 변경후 사용하는 것이 안전하다. 


부족하다고 느낀점

이번주 과제를 1등으로 제출해서 기뻤는데 너무 빠르게 하는것에 집중한 나머지 자잘한 실수를 했습니다. (세미콜론, let이아니라 const로 선언해야할 것....) 속도에 집중하기 보다. 정확도에 더 집중 해야겠습니다. 

댓글