자바스크립트에서는 함수 선언 방법이 다양하다. 그 중 함수 선언과 화살표 함수의 차이에 대해 명확히 알아야 할 것 같아서 정리해보았다.
자바스크립트는 비동기 처리가 가능하다. 그 말은 먼저 실행된 코드가 끝나기 전에 다음 코드가 실행될 수 있음을 말한다.그렇다면 아래 코드를 보자.자바스크립트를 공부해본 사람들은 위 코드의 결과를 쉽게 예측할 수 있을 것이다.setTimeout이 비동기적으로 처리된다.
출처 : https://en.wikipedia.org/wiki/Tree_shaking코드를 최적화할 때 사용하는 \[dead code elimination](https://en.wikipedia.org/wiki/Dead-code_elimination)
다들 var,let,const의 차이에 대해 한번쯤 들어봤을 것이다.var은 호이스팅이 되지만 나머지는 안된다.하지만 조금 더 자세히 알아보면 호이스팅 비슷하게 되고, 해당 값을 TDZ라고 흔히 부른다.참조: TOAST UI의 TDZ 관련 글 실제로 인터프리터가 어떻게