window
라는 전역객체의 프로퍼티로 생성됨ReferenceError
)기본적으로 변수를 선언할 때 어떤 키워드를 사용해야할지 잘모르겠다면 const
로 선언후 에러발생시 let
으로 변경하는 것이 좋다고 생각함 ( ES6기준 )
일시적 사각지대
: 스코프시작지점부터 초기화단계 사이에 존재하는 구간
여기서 접근시 ReferenceError
발생
let과 const의 호이스팅
// let의 호이스팅
let v = 10;
function bar(){
// 만약 let이 호이스팅이 일어나지 않았다면 여기서 에러가 발생하지 않음
// 하지만 에러가 발생했고 let이 호이스팅이 발생해서 일시적 사각지대에서 변수를 사용해서 에러가 발생한 것임
console.log(v); // ReferenceError
let v = 10;
}
bar();