JavaScript에서 변수를 선언하는데 사용되는 세 가지 키워드인 `var`, `let`, 그리고 `const`에 대해 비교적으로 설명해 드리겠습니다. 이러한 키워드는 변수의 범위와 변이 가능성에 대한 규칙을 정의합니다.
1. **var**:
- `var`는 ES5(이전 버전)에서 사용되는 변수 선언 키워드입니다.
- 함수 스코프를 가지며, 함수 내에서 선언된 변수는 함수 내 어디서든 접근 가능합니다.
- 호이스팅(Hoisting)이 발생하며, 변수가 선언되기 전에 사용해도 오류가 발생하지 않습니다.
- 블록 스코프를 지원하지 않아 블록 내에서 선언된 변수가 함수 내에서도 유효합니다.
function example() {
if (true) {
var x = 10;
}
console.log(x); // 10
}
2. **let**:
- `let`은 ES6(ES2015)에서 도입된 변수 선언 키워드입니다.
- 블록 스코프를 가지며, 블록 내에서 선언된 변수는 해당 블록 내에서만 유효합니다.
- 호이스팅이 발생하지만, 변수는 초기화되기 전에 사용하면 "ReferenceError"가 발생합니다.
function example() {
if (true) {
let x = 10;
}
console.log(x); // ReferenceError: x is not defined
}
3. **const**:
- `const`도 ES6에서 도입된 변수 선언 키워드이며, 상수를 선언하는 데 사용됩니다.
- 블록 스코프를 가지며, 값이 한 번 할당되면 변경할 수 없습니다. 그러나 객체 또는 배열의 내부 내용은 수정할 수 있습니다.
const PI = 3.14159;
PI = 3; // TypeError: Assignment to a constant variable
const arr = [1, 2, 3];
arr.push(4); // 허용됨
arr = [4, 5, 6]; // TypeError: Assignment to a constant variable
요약하면, 변수를 선택할 때 다음과 같은 고려 사항을 고려해야 합니다:
- `let`은 변수의 변경이 필요한 경우에 사용하며, 블록 스코프를 사용합니다.
- `const`는 값이 변경되지 않는 상수를 선언할 때 사용하며, 블록 스코프를 사용합니다.
- `var`은 더 이상 권장되지 않으며, `let`과 `const`를 대체하여 사용하는 것이 좋습니다.
'Programming > 웹(Web) - Design, Server' 카테고리의 다른 글
JavaScript(자바스크립트) (0) | 2023.09.26 |
---|---|
CodeIgniter(코드이그나이터) 관련 (0) | 2023.09.12 |
Node.js (0) | 2023.09.02 |
jQuery와 Ajax (0) | 2023.08.02 |
PHP 언어 (0) | 2023.07.06 |