ES6이전의 JS는 오직 var로만 변수를 설정했다.
var apple = 'red';
전 포스팅[링크]에서도 언급 했듯이, 호이스팅으로 인해 코드에 버그가 생기는 경우가 생긴다.
ES6부터 var를 대신하여 block scope인 let과 const를 추가하였다.
let은 변수를 설정할 때 쓰는 요소이다.
변수이기에 재 할당이 가능하다.
let apple = 'red';
apple = 'sweet';
console.log(apple); // sweet
const는 상수를 설정 할 때 쓴다.
상수이기 때문에 재할당이 불가능하다.
const banana = 'yellow';
banana = 'sweet';
console.log(banana) // Uncaught TypeError: Assignment to constant variable.
스코프 | 변수 재할당 여부 | |
---|---|---|
var | function scope | 가능 |
let | block scope | 가능 |
const | block scope | 불가능 |