티스토리 뷰

 

JavaScript에서 변수 선언은 const, let, var 을 사용한다. 각각의 특징과 사용법을 초보자도 이해하기 쉽게 알아보자.

 

1. const : 값이 바뀌지 않을 때 사용

  • 특징
    • 고정된 값을 선언할 때 사용하며 한 번 선언하면 값을 바꾸거나 재선언할 수 없음
    • 블록 스코프 : 중괄호 {} 안에서만 유효
  • 사용법
    • 변수 이름은 보통 camelCase로 짓는다. (예: myFavoriteColor)
    • 선언과 동시에 값을 지정해야 함
  • 예시  
  • const myName = "홍길동"; // 선언과 동시에 값 지정 console.log(myName); // 홍길동 myName = "김영수"; // 에러! 재할당 불가 const myName = "이영희"; // 에러! 재선언 불가
  • 주의 : 객체/배열은 내부 변경 가능함
      const myArray = [1, 2, 3];
      myArray.push(4); // 가능! [1, 2, 3, 4]
      myArray = [5, 6, 7]; // 에러! 재할당 불가
     
  • 언제 사용 ? : 값이 절대 바뀌지 않을 때 (예: 고정 상수, 설정값)

2. let : 값이 바뀔 수 있을 때 사용

  • 특징
    • 값을 업데이트(재할당) 할 수 있음
    • 재선언은 불가능 (같은 이름으로 다시 선언 못 함)
    • 블록 스코프 : 중괄호 {} 안에서만 유효
  • 사용법
    • 선언 후 필요할 때 값을 바꿀 수 있음
    • 변수 이름은 camelCase
  • 예시
      let score = 100; // 선언
      score = 200; // 재할당 가능
      console.log(score); // 200
    
      let score = 300; // 에러! 재선언 불가
  • 언제 사용 ? : 변수 값이 바뀔 가능성이 있을 때 (예: 카운터, 상태 값)

 

3. var : 옛날 방식, 사용 지양

  • 특징
    • 함수 스코프 : 중괄호 {}를 무시하고 함수 안에서 유효 (혹은 전역)
    • 호이스팅 : 선언이 코드 맨 위로 올라간 것처럼 동작 (예상치 못한 결과 가능)
    • 재선언 가능 : 같은 이름으로 여러 번 선언 가능 (버그 유발 위험)
  • 사용법
    • 예전 코드에서 자주 보이지만, 요즘은 거의 안 써요.
  • 예시
      var age = 20;
      var age = 30; // 재선언 가능 (문제 생길 수 있음)
      console.log(age); // 30
    
      console.log(x); // undefined (호이스팅 때문에 에러 안 남)
      var x = 5;
  • 문제점 예시
      for (var i = 0; i < 3; i++) {
        setTimeout(() => console.log(i), 100); // 3, 3, 3 출력 (의도치 않음)
      }
      // let 사용하면 0, 1, 2 출력
  • 언제 사용 ? : 현대 JavaScript에서는 사용하지 않는 게 좋음. const나 let으로 충분!

 

언제 뭘 써야 하나?

  1. 값이 바뀌지 않을 때  const (예: 이름, 고정 설정값)
  2. 값이 바뀔 때  let (예: 점수, 카운터)
  3. var는 되도록 안 쓰기  const와 let으로 충분히 안전하고 깔끔한 코드 작성 가능

 

실용 예시

// const: 고정된 값
const maxAttempts = 3;
console.log(maxAttempts); // 3

// let: 값이 바뀌는 경우
let lives = 3;
lives = lives - 1; // 업데이트
console.log(lives); // 2

// var: 문제 예시 (비추천)
for (var i = 0; i < 3; i++) {
  console.log(i); // 0, 1, 2
}
console.log(i); // 3 (중괄호 밖에서도 살아있음, 문제!)

 

결론

  • 주로 const  사용 : 값 고정, 코드 안전
  • 값 바뀔 때만 let 사용 : 업데이트 필요할 때
  • var는 피하세요 : 예측 어려운 동작 때문에 현대 JavaScript에선 비추천

'Coding Study > Vanilla JS' 카테고리의 다른 글

JavaScript DOM 선택자 완벽 가이드  (1) 2025.07.28