자바스크립트 데이터타입, 실행 컨텍스트
호이스팅이란?
: 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것
-var로 선언한 경우 호이스팅 시 undefined로 변수를 초기화시킴
-let이나 const로 선언한 경우 호이스팅 시 변수 초기화 X
참고 사이트
링크텍스트
*번외: var로 선언하는것이 줄어든 이유
=변수의 중복 선언이 가능하기 때문.
ex)
var a = 123;
function func() {
console.log(a); // undefined
var a = 456;
console.log(a); // 456
}
func()
위 경우와 같은 코드 작성 시, let 혹은 const의 경우에서는 오류가 감지된다(a 중복). 하지만, var에서는 발견되지 않음.