본문 바로가기

프로그래밍 언어/자바스크립트

JavaScript에서 변수란? var, let, const 차이점과 사용법

JavaScript에서 변수란? var, let, const 차이점과 사용법

자바스크립트에서 변수는 데이터를 저장하고 관리하는 기본적인 방법입니다. 변수는 코드의 가독성을 높이고, 반복되는 값을 재사용할 수 있게 해줍니다. 이 글에서는 자바스크립트의 세 가지 주요 변수 선언 키워드인 var, let, const의 차이점과 각 키워드의 올바른 사용법을 자세히 살펴보겠습니다.

 

 

목차

  1. 자바스크립트에서 변수란?
  2. var, let, const 개요
  3. var의 특성과 사용법
  4. let의 특성과 사용법
  5. const의 특성과 사용법
  6. 변수 선언 시 주의사항
  7. var, let, const의 비교와 사용 시점

 

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

변수는 프로그램 내에서 데이터를 저장하고, 이 데이터를 나중에 참조하거나 수정할 수 있는 이름을 가진 컨테이너입니다. 변수는 숫자, 문자열, 객체, 함수 등 다양한 타입의 데이터를 저장할 수 있으며, 코드가 실행되는 동안 변경 가능하거나 불변일 수 있습니다. 자바스크립트에서는 변수를 선언하기 위해 var, let, const 키워드를 사용합니다.

 

 

var, let, const 개요

자바스크립트에서는 변수를 선언하는 방법이 세 가지 있습니다:

  • var: ES5 이전에 주로 사용되었으며, 함수 스코프를 가지며, 중복 선언이 가능합니다.
  • let: ES6(ECMAScript 2015)에서 도입된 키워드로, 블록 스코프를 가지며, 중복 선언이 허용되지 않습니다.
  • const: let과 유사하지만, 선언과 동시에 초기화가 필요하며, 값이 변경되지 않는 상수를 선언할 때 사용됩니다.

 

 

var의 특성과 사용법

var는 자바스크립트의 초기 버전부터 존재해온 변수 선언 방식입니다. var로 선언된 변수는 함수 스코프를 가지며, 함수 내에서 선언된 변수는 함수 외부에서 접근할 수 없습니다. 또한, var로 선언된 변수는 호이스팅(Hoisting)이라는 특성을 가지는데, 이는 변수가 선언되기 전에 사용할 수 있는 특성을 말합니다.

console.log(x); // undefined
var x = 5;

위 코드에서 x는 선언 이전에 접근할 수 있지만, 값은 할당되지 않아 undefined를 반환합니다.

 

 

let의 특성과 사용법

let은 블록 스코프를 가지는 변수 선언 키워드로, 동일한 블록 내에서 중복 선언이 허용되지 않습니다. let을 사용하면 변수의 스코프를 더 명확하게 정의할 수 있어 코드의 가독성과 유지 보수성이 향상됩니다. let은 호이스팅되지만, 선언 전에 접근하면 ReferenceError가 발생합니다.

let y = 10;
if (true) {
    let y = 20;
    console.log(y); // 20
}
console.log(y); // 10

위 코드에서 y는 서로 다른 블록 내에서 다른 값으로 존재합니다. 이처럼 let은 블록 레벨에서 변수의 범위를 제한합니다.

 

 

const의 특성과 사용법

const는 상수를 선언할 때 사용되며, 선언과 동시에 초기화가 필요합니다. const로 선언된 변수는 재할당이 불가능하며, 값이 변경되지 않는다는 특징이 있습니다. 단, const가 객체나 배열을 가리킬 때는 객체의 속성이나 배열의 요소는 변경할 수 있습니다.

const z = 30;
z = 40; // TypeError: Assignment to constant variable.

위 예제에서 zconst로 선언되었기 때문에, 값을 재할당하려고 하면 에러가 발생합니다.

 

 

 

 

변수 선언 시 주의사항

변수 선언 시에는 스코프와 호이스팅을 고려해야 합니다. var는 의도하지 않은 변수 사용을 초래할 수 있으므로, 가능하면 let이나 const를 사용하는 것이 좋습니다. 또한, 불필요한 변수 선언을 피하고, 변수 이름은 의미 있게 지어 코드를 명확하게 해야 합니다.

 

 

var, let, const의 비교와 사용 시점

var, let, const는 각각의 용도에 따라 선택적으로 사용해야 합니다:

  • var: 함수 스코프가 필요하거나 호환성을 위해 필요한 경우에만 사용합니다.
  • let: 블록 스코프가 필요하고, 값이 변경될 수 있는 변수를 선언할 때 사용합니다.
  • const: 변하지 않는 상수 값을 선언할 때 사용하며, 가능한 모든 변수를 const로 선언하는 것이 좋습니다.

이제 각 변수 선언 키워드의 차이점과 특성을 이해하고, 상황에 맞게 올바른 선택을 통해 더 안전하고 유지 보수하기 쉬운 자바스크립트 코드를 작성할 수 있을 것입니다.