- const : 한번 지정하고 나면 변경이 불가능한 상수를 선언할 때 사용하는 키워드
- let : 동적인 값을 담을 수 있는 변수를 선언할 때 사용하는 키워드
var vs. let Example
function func1(){
var a = 'choi'
if(true){
var a = 'june';
console.log(a);
}
console.log(a);
}
func1()
- if문 바깥에서 var a 값을 'choi'로 선언하고 if문 내부에서 'june'로 설정했다. if 문 내부에서 var a를 새로 선언했음에도 if문이 끝난 바깥에서 var a를 조회하면 if문 내부에서 변경된 값이 나타난다.
function func2(){
let a = 1;
if(true) {
let a = 2;
console.log(a);
}
console.log(a);
}
func2();
- let과 const는 scope가 함수 단위가 아닌 블록 단위!
- let과 const를 사용할 때 같은 블록 내부에서 종복 선언은 불가능한다.
let a = 1;
let a = 2;