본문 바로가기
방구석코딩/자바스크립트

자바스크립트 var, let, const 명령어 및 차이점

by 석세상 2023. 4. 19.
반응형

JavaScript에서 변수를 선언하는 방법에는 var, let 및 const의 세 가지 방법이 있습니다. 이 세 가지 명령 모두 변수를 만들 수 있지만 범위, 재할당 및 불변성 측면에서 차이점이 있습니다.

자바 스크립트 var, let, const 명령어 표지

 

var 명령어 사용법

var은 JavaScript에서 변수를 선언하는 원래 방법이었으며 함수 수준 범위를 가집니다.

 

이것은 'var'로 선언된 변수가 정의된 함수 내에서 사용 가능함을 의미합니다. 그러나 변수가 함수 외부에서 var로 선언되면 전역 변수가 되어 코드 어디에서나 액세스할 수 있습니다. var 변수는 선언된 후에 재할당될 수도 있습니다.

function exampleFunction() {
var x = 5;
if (true) {
var x = 10;
console.log(x); // Output: 10
}
console.log(x); // Output: 10
}

위의 예에서 변수 x는 var를 사용하여 두 번 선언됩니다. var에는 함수 수준 범위가 있으므로 두 변수 모두 동일한 범위를 가지며 x의 두 번째 선언이 첫 번째 선언을 재정의합니다.

 

 

let, const 명령어 사용법

let 및 const는 ES6(ECMAScript 2015)에서 도입되었으며 블록 수준 범위를 가집니다.

즉, 정의된 블록 내에서만 액세스할 수 있습니다. 블록은 함수, 루프 또는 if 문일 수 있습니다. var와 달리 let 및 const 변수는 동일한 블록 내에서 다시 선언할 수 없으며 const 변수는 선언 후 다시 할당할 수 없습니다.

function exampleFunction() {
let y = 5;
if (true) {
let y = 10;
const z = 15;
console.log(y); // Output: 10
console.log(z); // Output: 15
}
console.log(y); // Output: 5
}

위의 예에서 변수 y는 let을 사용하여 두 번 선언되었습니다.

 

let은 블록 수준 범위를 갖기 때문에 두 변수는 별도의 범위를 가지며 서로 간섭하지 않습니다. const 변수 z도 동일한 블록 내에서 선언되고 블록 수준 범위를 갖지만 선언된 후에는 다시 할당할 수 없습니다.

 

var, let, const의 주요 차이점

var에는 함수 수준 범위가 있고 let 및 const에는 블록 수준 범위가 있습니다.

 

var는 재선언 및 재할당이 가능하고, let은 재선언은 가능하지만 재선언은 불가능하며, const는 재선언 및 재할당이 불가능합니다.

728x90

사용할 명령을 결정할 때 해당 변수의 범위와 가변성을 고려하는 것이 중요합니다. 다시 선언하고 다시 할당할 수 있는 함수 수준 범위의 변수가 필요한 경우 var를 사용하십시오.

 

재할당할 수 있지만 재선언할 수 없는 블록 수준 범위의 변수가 필요한 경우 let을 사용하십시오. 다시 선언하거나 다시 할당할 수 없는 블록 수준 범위의 변수가 필요한 경우 const를 사용하십시오.

728x90
반응형

댓글