let, const 는 ES6에서 새롭게 추가된 변수이다.
var는 함수 스코프, let const는 블록 스코프이다.
undefined
는 선언만되고 값이 없는 상태, null
은 자료형이 객체이며 빈값number
로 모든 수를 실수로 처리한다.코드들이 실행되기 위해 변수객체, 스코프체인, this (프로토타입) 정보를 담고 있는 곳.
컨텍스트가 생성 후 함수가 실행되고 함수 실힝이 마무리되면 해당 컨텍스트는 사라진다.
변수 선언부분이 최상단으로 끌어올려지는 현상 (해당 컨텍스트의 최상단)
console.log(a)
var a = 1;
// undefined
var는 undefined로 초기화한다.
const는 호이스팅이 안된다.
자신이 생성될때의 환경을 기억하는 함수
반환된 내부함수가 자신 스코프를 기억하여 환경 밖에서도 내부 상태를 접근할 수 있다.