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
는 함수 스코프를 가지며, 중복 선언이 가능합니다.let
과const
는 블록 스코프를 가지며, 중복 선언이 불가능합니다.const
는 변수 재할당이 불가능합니다, 반면let
은 가능합니다.
다음시간에 계속…
This post is licensed under CC BY 4.0 by the author.