let, const, var

let, const 는 ES6에서 새롭게 추가된 변수이다.

var는 함수 스코프, let const는 블록 스코프이다.

자바스크립트 타입

실행 컨텍스트 (Execution Context)

코드들이 실행되기 위해 변수객체, 스코프체인, this (프로토타입) 정보를 담고 있는 곳.

컨텍스트가 생성 후 함수가 실행되고 함수 실힝이 마무리되면 해당 컨텍스트는 사라진다.

호이스팅 Hoisting

클로저 Closure

자신이 생성될때의 환경을 기억하는 함수

반환된 내부함수가 자신 스코프를 기억하여 환경 밖에서도 내부 상태를 접근할 수 있다.