JS/JavaScript

#1 자바스크립트 변수 선언 : var, let, const 차이점 완벽 정리

인생아 2024. 8. 27. 00:21
반응형

자바스크립트에서 변수를 선언하는 방법은 크게 세 가지가 있습니다. 각각의 방법에는 고유한 특징과 사용 용도가 있으며, 올바른 변수 선언은 깨끗하고 효율적인 코드를 작성하는 데 필수적입니다.

1. var 키워드

  • 특징: 함수 범위를 가집니다. 즉, 함수 내에서 선언된 var 변수는 해당 함수 내에서만 유효합니다.
  • 호이스팅: 변수 선언이 코드의 맨 위로 끌어올려지는 현상이 발생합니다. 즉, 변수를 선언하기 전에 사용해도 undefined 값이 할당됩니다.
  • 단점: 함수 범위라는 제한적인 스코프와 호이스팅으로 인해 예상치 못한 결과를 초래할 수 있습니다.
 
function myFunction() {
  console.log(x); // undefined 출력 (호이스팅)
  var x = 10;
  console.log(x); // 10 출력
}

myFunction();
 
 

2. let 키워드

  • 특징: 블록 범위를 가집니다. 즉, {} 안에서 선언된 let 변수는 해당 블록 내에서만 유효합니다.
  • 호이스팅: var와 달리 호이스팅이 발생하지 않습니다. 변수를 선언하기 전에 사용하면 ReferenceError가 발생합니다.
  • 장점: var보다 훨씬 안전하고 현대적인 방법입니다.
 
if (true) {
  let x = 10;
  console.log(x); // 10 출력
}
console.log(x); // ReferenceError: x is not defined
 
 

3. const 키워드

  • 특징: 상수를 선언합니다. 한번 값을 할당하면 변경할 수 없습니다.
  • 장점: 변수 값이 변경될 가능성이 없는 경우 사용하면 코드의 안정성을 높일 수 있습니다.
 
const PI = 3.14159;
// PI = 3.14; // TypeError: Assignment to constant variable.
 
 

var, let, const 비교

키워드 범위 호이스팅 재할당 가능여부
var 함수 O O
let 블록 X O
const 블록 X X
 

어떤 키워드를 사용해야 할까요?

  • var: 거의 사용하지 않는 것이 좋습니다. 호이스팅으로 인한 예상치 못한 문제가 발생할 수 있기 때문입니다.
  • let: 일반적인 변수를 선언할 때 사용합니다. 값이 변경될 수 있는 경우에 적합합니다.
  • const: 변하지 않는 값을 저장할 때 사용합니다. 상수, 배열의 길이, 객체의 속성 등을 선언할 때 유용합니다.

결론

자바스크립트에서 변수를 선언할 때는 var, let, const 중 어떤 키워드를 사용해야 할지 신중하게 선택해야 합니다. 각 키워드의 특징을 이해하고, 코드의 가독성과 안정성을 높이기 위해 적절한 키워드를 사용하는 것이 중요합니다.

반응형