var | let | const | |
---|---|---|---|
재선언 | O | X | X |
재할당 | O | O | X |
호이스팅 | undefined | 참조에러(referenceError) | 참조에러(referenceError) |
유효범위 (scope) | function scope | block scope | block scope |
변수 선언이 어디에 있든 다른 코드보다 먼저 실행됨
모든 식별자는 호이스팅이 일어난다
지역변수 : 함수 내에서 변수 선언
전역변수 : 함수 밖에서 변수 선언
지역변수 : 코드 블록 {} 내에서 변수 선언
전역변수 : 코드 블록 {} 밖에서 변수 선언