프로그래밍에 익숙해질수록
const
키워드가 점점 더 자주 등장하는 걸 느낄 수 있을 것이다. 몇몇 스타일 가이드에서는 변수 선언에 기본적으로const
를 사용하라고 권장하기도 한다. 그런데, 분명히const
는 "상수"를 위해 만들어진 키워드로 배웠는데, 왜 변수를 선언할 때도 사용해야 할까? 여기에는 중요한 이유가 있다. 이번 글에서는const
와 관련된 오해와 진실, 그리고 실제 활용법을 정리한다.
const
와 let
의 차이가장 큰 차이는 const
로 선언한 변수는 재할당이 불가능하다는 점이다.
let number = 10;
number = 20; // 재할당 가능
console.log(number); // 20
const constantNumber = 10;
constantNumber = 20; // TypeError: Assignment to constant variable
이 특성 때문에 const
는 변하지 않는 값을 사용할 때 적합하다. 하지만 실제로는 그 이상으로 더 많은 활용도를 가지고 있다.
const
를 변수에 사용해야 하는 이유const
는 이런 불확실성을 제거하고, 코드의 일관성을 유지하는 데 도움을 준다.const
는 '이 값은 이후 절대로 바뀌지 않는다'는 신뢰를 제공한다.검색 기능을 개발한다고 가정해보자.
let keyword = "JavaScript"; // 검색창에서 입력된 키워드
// 검색 버튼을 누른 후에는 키워드 값이 변하면 안 됨
검색 동작이 시작되면, 키워드는 더 이상 변하지 않아야 한다. 따라서 이 시점부터는 const
로 선언하는 것이 적합하다.
const searchKeyword = "JavaScript";
이처럼, 특정 시점 이후 변하지 않는 값을 명확히 상수로 다루는 것이 const
를 사용하는 이유다.
const
키워드 사용let
키워드 사용const MAX_USERS = 100; // 상수
let userCount = 0; // 변수
이런 규칙을 지키면 코드의 가독성과 일관성이 높아진다.
const
와 참조형 데이터const
로 선언한 참조형 데이터(객체, 배열)는 값이 변할 수 있다. 이는 변수가 참조하는 주소 값이 변하지 않을 뿐, 그 내부의 데이터는 변경이 가능하기 때문이다.
const person = { name: "Alice", age: 25 };
// 객체의 프로퍼티를 변경
person.age = 26;
console.log(person.age); // 26
// 새로운 객체를 할당하려고 하면 오류 발생
person = { name: "Bob", age: 30 }; // TypeError: Assignment to constant variable
이 점을 기억하면서 참조형 데이터를 다룰 때 주의해야 한다.
const
는 재할당이 불가능하지만, 참조형 데이터 내부는 변경될 수 있다.const
를 사용하는 것이 코드의 안정성과 예측 가능성을 높인다.const
를 사용하면 코드의 일관성과 안전성을 유지할 수 있다.