Post

const, var, let의 차이점

JavaScript 변수 선언: var, let, const

JavaScript에서 변수를 선언하기 위해 사용하는 var, let, const 키워드에는 각각의 특징과 사용 상황에 따른 차이점이 있습니다.

var

  • var는 ES5까지 가장 일반적으로 사용된 변수 선언 키워드입니다.
  • 함수 스코프(function scope)를 가집니다. 즉, var로 선언된 변수는 선언된 함수의 전체에서 접근이 가능합니다.
  • 같은 변수를 중복해서 선언할 수 있습니다. 이 경우, 초기 선언을 덮어쓰게 됩니다.

let

  • let은 ES6에서 도입되어 var의 단점을 개선하기 위해 생겨났습니다.
  • 블록 스코프(block scope)를 가집니다. let으로 선언된 변수는 선언된 블록(중괄호 {} 내부)에서만 접근 가능합니다.
  • 중복 선언이 불가능합니다. 동일한 스코프 내에서 let을 이용해 같은 이름의 변수를 재선언하려고 하면 에러가 발생합니다.

const

  • const 역시 ES6에서 도입되었습니다.
  • const로 선언된 변수는 상수로, 한 번 할당한 값을 변경할 수 없습니다. (재할당 불가)
  • const 또한 블록 스코프를 가지며, 같은 스코프 내에서 재선언이 불가능합니다.
  • 주로 변하지 않는 값을 저장할 때 사용합니다.

사용 상황 예시

1
2
3
4
5
6
7
8
9
10
function exampleFunction() {
    if (true) {
        var varVariable = 'Accessible within function';
        let letVariable = 'Accessible within block';
        const constVariable = 'Also accessible within block';
    }
    console.log(varVariable); // Outputs: Accessible within function
    // console.log(letVariable); // Error: letVariable is not defined
    // console.log(constVariable); // Error: constVariable is not defined
}

요약

  • var는 함수 스코프를 가지며, 중복 선언이 가능합니다.
  • letconst는 블록 스코프를 가지며, 중복 선언이 불가능합니다.
  • const는 변수 재할당이 불가능합니다, 반면 let은 가능합니다.

다음시간에 계속…

image

This post is licensed under CC BY 4.0 by the author.