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.
