javascript 변수 선언 방법 3가지 특징, 비교 (var, let, const)
자바스크립트에서 변수를 선언하는 방법은 크게 세 가지가 있습니다. var, let, 그리고 const. 이들 각각의 특징과 사용법에 대해 알아보겠습니다.
var, 더 이상 권장되지 않는 변수 선언 방식
var는 자바스크립트에서 가장 오래된 변수 선언 방식 중 하나입니다. 하지만 최근의 ECMAScript 표준에서는 더 이상 권장되지 않습니다. var의 특징은 다음과 같습니다
var myVar = "Hello World";
var myVar = "test1"; // 다시 선언 가능
myVar = "GoodBye 0"; // 변수 재할당 가능
console.log(myVar);
- 다시 선언 가능: 같은 변수명으로 여러 번 선언할 수 있습니다.
- 변수 재할당 가능: 값을 변경할 수 있습니다.
let, 블록 스코프 변수
let은 ECMAScript 6 (ES6)에서 도입된 변수 선언 방식으로, 블록 스코프를 따릅니다.
let myLet = "Hello World";
// let myLet = "test2"; // 이미 선언한 변수를 다시 선언하면 오류
myLet = "GoodBye 1"; // 변수 재할당 가능
console.log(myLet);
- 다시 선언 불가: 같은 변수명을 블록 내에서 다시 선언하면 오류가 발생합니다.
- 변수 재할당 가능: 값을 변경할 수 있습니다.
const, 상수 선언
const는 또 다른 ES6에서 도입된 변수 선언 방식으로, 상수를 정의할 때 사용됩니다.
const myConst = "Hello World";
// const myConst = "test3"; // 이미 선언한 상수를 다시 선언하면 오류
// myConst = "GoodBye 2"; // 상수는 재할당 불가능
console.log(myConst);
- 다시 선언 불가: 같은 상수명을 다시 선언하면 오류가 발생합니다.
- 재할당 불가: 한 번 할당한 값을 변경할 수 없으므로, 상수로 사용됩니다.
어떤 변수 선언 방식을 사용해야 할까요?
let을 사용하면 변수를 재할당할 수 있지만, 변수의 스코프가 블록 내로 제한되므로 블록 레벨 스코프가 필요한 경우에 적합합니다.
const는 상수를 정의할 때 사용되며, 변수를 재할당할 수 없으므로 값이 변하지 않아야 하는 경우에 사용합니다.
var는 오래된 방식이며, 범위(scope)와 관련한 이슈가 있어서 가급적 사용을 피하는 것이 좋습니다.
자바스크립트에서 변수를 선언할 때, 사용하고자 하는 변수의 특성과 스코프를 고려하여 var, let, const 중 적절한 것을 선택하면 코드의 가독성과 안정성을 높일 수 있습니다.
let, const, var 특징 비교
기능 | let | const | var |
재선언 가능 | X (오류 발생) | X (오류 발생) | O (가능) |
재할당 가능 | O | X (오류 발생) | O (가능) |
블록 스코프 | O | O | X (함수 스코프) |
초기화 필요 | X (선언 후 나중에 초기화) | O (반드시 초기회 필요) | X (선언과 동시에 초기화) |
이 표를 통해 let, const, var의 주요 차이점을 이해할 수 있습니다. let과 const는 블록 스코프를 가지며, 변수 재선언을 허용하지 않으며 const는 반드시 초기화가 필요합니다. var는 함수 스코프를 가지며, 변수 재선언과 초기화를 동시에 할 필요가 없습니다.
끝으로
javascript의 변수 선언 방식인 let, const, var에 대해 소개해드렸습니다. 위의 글을 참고하여 javascript를 이해하는 데 많은 도움 되시길 바랍니다.
▼ 아래, 글도 읽어보세요! ▼
'Programming & Platform > JavaScript' 카테고리의 다른 글
JavaScript 전역변수와 지역변수의 소개, 특징, 차이점, 예시 코드 (0) | 2023.10.22 |
---|---|
JavaScript 실시간 시계 - 소스 코드 제공 (0) | 2023.10.21 |
JavaScript Uncaught TypeError: Cannot read properties of null (0) | 2023.10.18 |
javascript 문법 과제 숫자 맞추기 게임 (1) | 2023.10.17 |
JavaScript 화살표 함수 소개, 특징, 활용, 예시 코드, 일반 함수와 차이점 (1) | 2023.10.17 |