개발 지식 한스푼

JavaScript _ 변수 var, let, const

Monstera Olive 2025. 1. 8. 16:09
반응형

 

 

 

JavaScript는 웹 개발에서 가장 많이 사용되는 언어로, 프로그램의 데이터를 저장하고 처리하기 위해 변수를 사용합니다. 변수는 프로그래머가 데이터를 효율적으로 관리할 수 있도록 돕는 중요한 개념입니다. 이 글에서는 JavaScript의 변수에 대한 기초 개념과 선언 방법, 특징을 정리해보겠습니다.

 

변수란 무엇인가?

변수는 데이터를 저장하기 위한 메모리 공간의 이름입니다. 변수를 통해 값을 저장하거나 변경할 수 있습니다. 변수 이름을 사용하면 해당 변수에 저장된 값을 쉽게 참조하거나 수정할 수 있습니다.

 

변수 선언 키워드

JavaScript에서는 변수를 선언할 때 var, let, const 세 가지 키워드를 사용할 수 있습니다.

 

 

1. var

var x = 10;
console.log(x);

 

  • ES6 이전에 사용되던 변수 선언 방식입니다.
  • 함수 스코프(function scope)를 가지며, 블록 스코프(block scope)를 지원하지 않습니다.
  • 같은 이름의 변수를 중복 선언할 수 있습니다.

 

 

2. let

let y = 20;
y = 30;
console.log(y);

 

  • ES6에서 도입된 변수 선언 방식입니다.
  • 블록 스코프(block scope)를 가집니다.
  • 중복 선언이 불가능합니다.

 

 

3. const

const z = 50;
console.log(z);

 

  • 상수를 선언할 때 사용합니다.
  • 블록 스코프(block scope)를 가지며, 선언과 동시에 초기화해야 합니다.
  • 값을 재할당 할 수 없습니다.

 

 

스코프(Scope)란?

스코프는 변수의 유효 범위를 의미합니다.

JavaScript의 스코프는 크게 전역 스코프와 지역 스코프로 나뉩니다.

 

  • 전역 스코프(Global Scope) : 코드 어디에서나 접근 할 수 있는 변수
  • 지역 스코프(Local Scope) : 함수 또는 블록 내에서만 접근할 수 있는 변수

 

변수의 호이스팅 (Hoisting)

JavaScript에서 변수 선언은 코드의 최상단으로 끌어올려지는 현상이 발생하는데, 이를 호이스팅이라고 합니다. var는 선언과 초기화가 함께 호이스팅 되지만, let과 const는 선언만 호이스팅되며 초기화는 해당 위치에 남습니다.

 

console.log(a);
// return undefined
var a = 5;

console.log(b);
// return ReferenceError
let b = 10;

 

변수 선언 시 주의할 점

  1. var를 사용해도 소스가 정상 동작하지만, let과 const를 사용하는 것이 권장됩니다.
    (var의 경우 중복 선언이 되어도 오류로 감지되지 않기 때문에 개발 단계에서의 잦은 버그를 발생시킬 수 있습니다.)

  2. 전역변수를 남용하면 메모리 누수 및 충돌 문제가 발생할 수 있으므로, 지역 변수 사용을 선호합니다.

  3. const를 사용하여 상수를 선언할 때는 객체나 배열의 내부 값은 변경할 수 있다는 점을 주의해야 합니다.
const arr = [1, 2, 3];
arr.push(4);
console.log(arr);
// [1, 2, 3, 4]

 

 


 

 

JavaScript의 변수는 데이터를 효율적으로 관리하는 데 필수적인 개념입니다. var, let, const의 차이점을 이해하고 상황에 맞게 사용하는 것이 중요합니다. 특히 최신 JavaScript 코드에서는 블록 스코프를 지원하는 let과 const를 사용해 코드를 더 안전하게 작성하는 것이 권장됩니다. 이러한 변수 선언 방식을 통해 더욱 견고하고 유지보수하기 쉬운 프로그램을 작성할 수 있습니다.

반응형