[js] var와 let, const의 차이
var와 let의 구체적인 차이점을 확인해 보자
누구나 아는 내용
- let, const 는 ES6부터 사용가능
- var, let 은 변수 const는 상수
var 는 동일한 변수를 여러번 선언 가능하지만, let, const는 한번만 선언할 수 있다
오류 없음
var name
var name
오류발생 Uncaught SyntaxError: Identifier 'name2' has already been declared
let name2
let name2
var 는 글로벌에 바인됭되지만 let, const는 글로벌객체에 바인딩되지 않는다
여기부터는 잠시 헤깔릴 수 있다. 다음 예제를 보자
var name = 'kkk'
console.log(window.name) // print 'kkk'
let name2 = 'mmm'
console.log(window.name2) // print undefined
const name3 = 'xxx'
console.log(window.name3) // print undefined
var 는 호이스팅 됨
console.log(aa) // not error, but print undefined
var aa = 2
console.log(bb) // ReferenceError: bb is not defined
let bb = 2
Comments