호이스팅(Hoisting)과 클로저(Closure)
호이스팅 변수를 선언하고 초기화 했을때 선언 부분이 최상단으로 끌어올려지는 현상으로 변수 및 함수 선언부가 스코프 내 제일 윗쪽으로 올라가게 된다. 함수 표현식/함수 선언식은 호이스팅이 적용되지만 let/const와 같은 변수는 호이스팅이 발생하지 않는다. 우선순위는 변수가 함수 선언보다 위로 끌어올려지며 코드의 가독성을 위하여 호이스팅을 최소화 하는 것이 좋다. 함수와 변수를 가급적 코드 상단부에 선언함으로 해결할 수 있다. 클로저 내부함수가 자신이 선언된 자리의 스코프를 기억하여 자신이 선언되었을때 그 스코프 환경에 접근할 수 있는 함수 내부함수로서 자신이 생성될때의 환경을 기억하는 함수이다. 쓰는 이유는 대표적으로 세가지이다. 1. 현재 상태를 기억하고 최신 상태로 유지하기 위하여 2. 전역 변수 ..
2020.11.25