개발/Node.js

[200제] 08. 변수 선언하기 let & var

알케이88 2025. 9. 4. 22:34

프로그래밍에서 데이터를 다루려면, 그 값을 어디에 저장 해야 할까?

우리가 일상에서 물건을 보관할 때 서랍이나 박스를 사용 하듯 

프로그램에서도 그 값을 보관하는 공간(메모리)가 필요 하다. 

그 역할을 하는것이 바로 변수다.

 

✅ 변수란?

말 그대로 '변'하는 값이라는 뜻을 가지고 있다. 

다시 말해 선언을 한 후 값을 바꿀 수 있는 것을 변수라고 한다. 

자바스크립트에서는 변수를 선언시 주로 var 와 let 을 사용한다. 

let은 ES6에서 새로 도입된 변수 선언 키워드 이다. 

키워드 도입 시기 스코프 특징

키워드 도입 시기 스코프 특징
var ES5 이전 함수 스코프(Function Scope) 중복 선언 가능, 호이스팅 발생
let ES6 블록 스코프(Block Scope) 중복 선언 불가, 호이스팅 제한적

 

// var는 함수 스코프
// 블록'{}' 안에서 선언 해도 밖에서 접근 가능
function varScopeExample() {
  if (true) {
    var x = 10;
  }
  console.log(x); // 10 → 블록 밖에서도 접근 가능
}
varScopeExample();

// let은 블록 스코프
// 블록 안에서만 유효, 밖에선 접근 불가
function letScopeExample() {
  if (true) {
    let y = 20;
  }
  // console.log(y); // ReferenceError: y is not defined
}
letScopeExample();

// var 중복 가능
// 같은 이름으로 다시 선언 가능
var a = 1;
var a = 2;
console.log(a); // 2

// let 중복 불가
// 중복 선언 불가 -> 안전하게 사용 가능
let b = 1;
// let b = 2; // SyntaxError: Identifier 'b' has already been declared

 


 

참고:
본 내용은 「초보자를 위한 Node.js 200제」(김경록님, 정지현님)를 기반으로 하였으며,
본 글은 개인 공부용으로 작성되었으며 상업적 사용은 불가합니다.