Web Front/JavaScript

[JavaScript] #05 Javascript 기본문법, JavaScript 변수 선언 완전 정리! var, let, const 차이점은?

TOASTDEV 2025. 10. 2. 13:00
반응형

 

 

토스트데브입니다!
오늘은 JavaScript의 가장 기본 중 기본!
바로 변수 선언 방법에 대해 알아보겠습니다.
"변수 선언이 뭐가 어렵겠어?"라고 생각할 수 있지만, var, let, const의 차이를 제대로 이해하는 것은 굉장히 중요합니다.

 

 

🧾 변수란?

변수(variable)는 데이터를 저장할 수 있는 이름이 붙은 공간이에요.
JavaScript에서는 변수를 선언할 때 세 가지 키워드를 사용할 수 있습니다:

  • var
  • let
  • const

이제 각각의 특징을 하나씩 살펴볼게요.

 

 

🟡 var – 과거의 변수 선언 방식

var name = "토스트";

📌 특징

  • ES5 이전의 방식 (오래된 코드에서 주로 사용됨)
  • 함수 스코프(Function Scope): 함수 안에서만 유효함
  • 중복 선언 가능 → 오류가 발생하지 않음
  • 호이스팅 발생 → 선언이 코드의 최상단으로 끌어올려짐
console.log(a); // undefined
var a = 10;

❗ 예상과 다르게 오류가 나지 않고 undefined가 출력됨!

 

 

🟢 let – 현재 가장 많이 사용하는 선언 방식

let age = 25;

📌 특징

  • ES6(ES2015) 이후 등장
  • 블록 스코프(Block Scope): {} 중괄호 안에서만 유효
  • 중복 선언 불가
  • 호이스팅은 되지만 초기화 전 접근 불가 (TDZ)
let x = 10;
x = 20; // ✅ 가능
let x = 10;
let x = 20; // ❌ 오류 발생: 중복 선언 불가

 

 

🔵 const – 상수 선언

const PI = 3.14;

📌 특징

  • 한 번 할당하면 값 변경 불가
  • 블록 스코프(Block Scope) 사용
  • 초기값 필수
const name = "토스트";
name = "감자"; // ❌ 오류 발생

✅ 단, 객체나 배열은 내부 변경은 가능

const user = { name: "토스트" };
user.name = "감자"; // ✅ 가능!

const는 “변수 자체의 재할당”만 막을 뿐, 객체의 내용 변경은 막지 않아요!

 

 

✅ var vs let vs const 요약 비교표

항목 var let const
스코프 함수 스코프 블록 스코프 블록 스코프
중복 선언 가능 불가 불가
재할당 가능 가능 불가
초기값 없이 선언 가능 가능 ❌ 초기값 필수
사용 시기 오래된 코드 현재 권장 불변값에 권장 사용

 

 

🚀 어떤 걸 써야 할까?

💡 기본은 const, 필요한 경우만 let, var는 지양!

 

  • 대부분의 경우 값 변경이 없는 const를 먼저 사용하세요.
  • 값 변경이 필요한 경우에만 let 사용.
  • var는 레거시 코드 유지보수 외에는 지양하는 것이 좋습니다.

 

 

🧭 마무리하며

변수 선언은 단순해 보이지만, 코드의 안정성과 버그 방지에 큰 영향을 주는 요소입니다.
let과 const의 스코프와 재할당 특성을 잘 이해하고, 상황에 맞게 선택하는 습관이 중요해요.

다음 글에서는 JavaScript의 데이터 타입에 대해 자세히 알아보겠습니다!

 

#JavaScript, #자바스크립트기초, #변수선언, #var, #let, #const, #프론트엔드개발, #웹개발, #코딩입문, #자바스크립트ES6, #ToastDev

 

반응형