개발공부/JavaScript

[JS] const, let 차이점

개발자 찐빵이 2022. 2. 3. 06:50
728x90

저번 시간에 ES6에서 추가된 constlet으로 var를 대신할 수 있다는 사실을 알았다.
javascript에서 var을 사용하면 안 되는 이유

그럼 const와 let의 차이점은 무엇일까?
바로 재할당 가능여부이다.

const

변수 재선언, 재할당이 불가능하다.

const banana = "banana";
console.log(banana); // banana

// 재선언
const banana = "apple"
console.log(banana); // Uncaught SyntaxError: Identifier 'banana' has already been declared

// 재할당
banana = "apple"
console.log(banana); // Uncaught TypeError: Assignment to constant variable.

let

변수 재선언은 불가능하지만, 재할당은 가능하다.

let banana = "banana";
console.log(banana); // banana

// 재선언
let banana = "apple"
console.log(banana); // Uncaught SyntaxError: Identifier 'banana' has already been declared

// 재할당
banana = "apple"
console.log(banana); // apple

let과 const의 공통적인 특징

블록 레벨 스코프

지역 스코프에 선언했을 시, 그 지역에서만 사용이 가능하다.

const banana = "banana";

{
    const banana = "apple";
    console.log(banana); // apple
}

console.log(banana); // banana

정리

변하지 않는 값이라면 const를 사용한다.
재할당이 필요한 경우에는 let을 사용한다.

반응형