Dev

[JS] 자바스크립트 기본 개념 / 변수 선언 방식

Wermut 2025. 3. 26. 20:39

 

 


 

자바스크립트 | 변수 선언 방법

 

자바스크립트는 변수를 선언할 때 따로 타입 정의가 필요하지 않은 언어이다. (이로 인해 발생하는 여러 문제 때문에 TypeScript가 등장하는 계기가 되었다.) 

 

따라서 JS의 변수를 선언할 땐 별도의 타입 지정 없이 var, let, const 키워드로 지정하게 되며 각각은 아래와 같은 특징을 갖는다. 

 

  • var -  변수 재 선언, 재 할당 모두 가능
  • let - 변수 재 선언 불가, 재 할당 가능
  • const - 변수 재 선언, 재 할당 모두 불가

var의 단점을 보완하기 위해 let과 const 개념이 등장한 것인데,

var의 경우 변수에 대한 재 선언 및 재 할당이 모두 가능하기에 여러 문제가 동반되었다.

 

    var A = "a";
    var B = 5;

    if (B > 3) {
        var A = "aa"; 
        console.log(A); // "aa"
    }
    
    console.log(A) // "aa"

 

위 코드를 보면 var을 사용해 if문 내의 블록( { } ) 내부에서 선언하더라도 블록 밖의 함수 전체에서 변수에 접근이 가능해 여러 문제가 발생 가능하다. 

 

    let A = "a";
    let B = 5;

    if (B > 3) {
        let A = "aa"; 
        console.log(A); // "aa"
    }
    
    console.log(A) // "aa"

 

그러나 let의 경우 if문 내의 블록 내에서 블록 밖의 전체 변수에 접근이 불가능하기에 var에 비해 사용이 권장된다.

 

따라서 상황에 따라 var 대신 let과 const의 사용을 권장한다.