Front/JavaScript

[JavaScript 기본 연재 #2] 💡변수와 상수 - 데이터를 저장하는 그릇

ddo04 2025. 7. 22. 22:02
728x90

 

 
 
자바스크립트에서 '변수'란?

 

변수(Variable)는 데이터를 저장하는 공간이에요.

이름을 붙여 어떤 값들을 담아두고,

필요할 때 그 이름을 불러서 사용할 수 있어요.

 

예를 들어

let name = "도희";
 

위 코드에서는 name이라는 변수에 "도희"라는 문자열을 저장했어요.

이제부터 name을 사용하면 "도희"를 의미하게 돼요.

변수 선언 방식 : var, let, const

 

자바스크립트에서는 변수를 선언할 때

세 가지 키워드를 사용할 수 있어요.

키워드
재할당 가능
재선언 가능
스코프
var
✅ 가능
✅ 가능
함수 스코프
let
✅ 가능
❌ 불가
블록 스코프
const
❌ 불가
❌ 불가
블록 스코프
각각 자세히 살펴보자

 

  • var (거의 안 씀)
var nickname = "deco";
var nickname = "dodo"; // 재선언도 가능
 
    • 재선언 & 재할당 모두 가능
    • 하지만 너무 자유로워서 의도치 않은 버그 발생 가능성 ↑
    • 스코프가 함수(function scope) 기준이라 예상 외의 동작 발생

📌 과거에는 많이 사용했지만, 지금은 잘 사용하지 않아요.

 

  • let (가장 자주 씀)
let age = 25;
age = 26; // 재할당 가능
let age = 30; // 오류! 같은 이름으로 다시 선언 불가
 
    • 재할당 가능, 재선언 불가
    • 블록 스코프라서 if문, for문 안에서도 안전하게 사용 가능
    • 보통 변하는 값을 저장할 때 사용

 

  • const (절대 변하지 않는 값)

 

const PI = 3.14;
PI = 3.1415; // 오류! 재할당 불가
 
    • 재할당 X, 재선언 X
    • 반드시 처음에 선언할 때 값을 함께 할당해야 해요
    • 변하지 않는 상수 값을 저장할 때 사용

💡보통 const로 먼저 선언하고,

정말로 바꿔야 할 필요가 있을 때만 let을 쓰는 게 권장 스타일이에요.

예제 코드로 비교하기
var x = 1;
let y = 2;
const z = 3;

x = 10;    // 가능
y = 20;    // 가능
// z = 30; // ❌ 오류: const는 재할당 불가

var x = 100;  // 가능 (재선언)
let y = 200;  // ❌ 오류 (재선언 불가)
블록 스코프란?

 

{
  let a = 10;
  const b = 20;
  var c = 30;
}

console.log(a); // ❌ 오류
console.log(b); // ❌ 오류
console.log(c); // ✅ 30

 

let과 const는 블록 {} 안에서만 유효하지만,

var는 바깥에서도 접근 가능해요.

그래서 예전 코드에서 var로 인한 예상치 못한 변수 오염 문제가 많았어요.

변수 선언 없이 사용하면?
message = "Hello!"; // 선언 없이 사용

 

⚠️ 이건 바람직하지 않아요.

strict mode에서는 오류를 발생시키고,

전역 변수를 오염시킬 수 있기 때문에 항상 let이나 const로 선언하세요.

실무에서의 변수 선언 팁

 

  • 변하지 않은 값은 const
  • 변할 수 있는 값만 let
  • 절대 var는 쓰지 않기
마무리 요약

키워드언제 사용하나?

const 기본값, 바뀌지 않는 값, 상수 (권장 기본)
let 동적으로 바뀌는 값
var 거의 사용하지 않음 (구 코드 유지 보수 외)

 

🔜 다음 편 예고

 

[JavaScript 기본 연재 #3] 자료형(타입)

문자열, 숫자, 불린, null, undefined, 객체, 배열까지!

자바스크립트에서 값의 종류를 확실하게 정리해볼게요.