| 특징 | const | let |
|---|---|---|
| 재할당 가능 여부 | ❌ 불가능 | ✅ 가능 |
| 재선언 가능 여부 | ❌ 불가능 | ❌ 불가능 |
| 블록 스코프 적용 | ✅ 가능 | ✅ 가능 |
| 초기화 필수 여부 | ✅ 반드시 초기화 필요 | ❌ 선택 가능 |
선언된 변수의 값을 변경할 수 업슴.
반드시 선언할 때 값을 초기화해야함.
객체나 배열을 선언한 경우, 내부 프로퍼티나 요소는 변경할 수 있지만, 변수 자체는 변경할 수 없슴.
변수의 값을 변경할 수 있슴.
블록 스코프를 가지므로 if, for 등의 블록 내에서만 유효.
const user = { name: "우철", age: 50 };
user.age = 51; // ✅ 가능 (객체 내부 속성 변경 가능)
console.log(user); // { name: "우철", age: 51 }
// let 사용 예제
let count = 0;
count = 1; // ✅ 가능 (재할당 가능)
if (true) {
let message = "Hello";
console.log(message); // ✅ "Hello"
}
// console.log(message); // ❌ 오류 발생 (블록 스코프 제한)
즉, 변하지 않는 값은 const, 변경이 필요한 값은 let을 사용하는 것이 좋다. var와 비교했을 때, const와 let은 스코프 관리를 더욱 엄격하게 할 수 있어 버그를 줄이고 코드의 가독성을 높일 수 있다.
어떤 상황에서 사용할지 고민된다면, 기본적으로 const를 사용하고
값이 변경될 필요가 있을 때 let으로 선언하는 것이 좋은 방법임!