JavaScript에서 변수를 선언하는 방법은 크게  가지가 있습니다. var, let, const입니다. 이들 각각의 특성과 사용 방법에 대해 알아보겠습니다.

 

var: 예전에 사용되던 변수 선언 방식

var는 JavaScript에서 변수를 선언할 때 가장 오래된 방식입니다. 이 방식은 이제는 거의 사용되지 않지만, 여전히 일부 브라우저나 라이브러리에서는 이 방식을 사용하기도 합니다.

var 변수를 선언하면해당 변수의 범위(scope) 해당 함수(function) 내에서만 유효합니다함수 안에서 선언한 var 변수는 함수 밖에서는 사용할  없습니다.

 

function test() {
  var a = 10;
  console.log(a);
}

test(); // 10
console.log(a); // Uncaught ReferenceError: a is not defined

 

위 예시 코드에서는 함수 내에서 a라는 변수를 var로 선언하고, 이를 출력하는 코드가 있습니다. 이 코드를 실행하면 10이라는 값이 출력됩니다. 하지만 함수 밖에서는 a라는 변수가 정의되어 있지 않다는 오류가 발생합니다.

 

let: 블록 범위 변수 선언 방식

let ES6에서 새롭게 추가된 변수 선언 방식입니다. 이전의 var와는 달리, let으로 변수를 선언하면 해당 변수의 범위는 블록(block) 단위로 유효합니다. , if, for 등과 같은 블록 내에서 선언된 변수는 해당 블록 안에서만 유효하게 됩니다.

 

function test() {
  if (true) {
    let a = 10;
    console.log(a); // 10
  }
  console.log(a); // Uncaught ReferenceError: a is not defined
}

test();

 

위 예시 코드에서는 if문 내에서 a라는 변수를 let으로 선언하고, 이를 출력하는 코드가 있습니다. 이 코드를 실행하면 10이라는 값이 출력됩니다. 하지만 if문 밖에서는 a라는 변수가 정의되어 있지 않다는 오류가 발생합니다.

 

const: 상수를 선언하는 방식

const let 비슷한 방식으로 변수를 선언하는 방식입니다. 하지만 const 선언된 변수는 정의되면, 다른 값으로 변경할 없습니다. , 상수(constant) 선언할 사용됩니다.

 

const PI = 3.14;
PI = 3.14159; // Uncaught TypeError: Assignment to constant variable.

 

위 예시 코드에서는 PI라는 변수를 const로 선언하고, 이를 다른 값으로 변경하는 코드가 있습니다. 이 코드를 실행하면 TypeError가 발생합니다.

const 선언된 변수는 반드시 선언과 동시에 값을 할당해야 합니다. 또한 const 선언된 객체나 배열은 객체나 배열 자체를 변경할 수는 없지만, 내부의 속성이나 요소는 변경할 있습니다.

 

const person = { name: 'John', age: 30 };
person.age = 31; // 가능
person = { name: 'Jane', age: 25 }; // Uncaught TypeError: Assignment to constant variable.

 

위 예시 코드에서는 person이라는 변수를 const로 선언하고, 이를 변경하는 코드가 있습니다. 객체의 속성은 변경할 수 있지만, 새로운 객체를 할당하려고 하면 TypeError가 발생합니다.

 

정리

  • var: 이제는 거의 사용되지 않는 변수 선언 방식입니다. 기존에 작성된 코드에서는 여전히 사용될 수 있지만, 가능하면 let 또는 const로 대체하는 것이 좋습니다.
  • let: 블록 단위로 유효한 변수를 선언할 때 사용합니다. 이전에는 var를 사용했지만, 이제는 let을 사용하는 것이 좋습니다.
  • const: 한 번 선언된 값을 변경할 필요가 없는 경우, 즉 상수를 선언할 때 사용합니다. 

+ Recent posts