TDZ 란?
TDZ(Temporal Dead Zone) - 일시적인 사각지대
스코프의 시작 지점부터 초기화 시작 지점까지의 구간을 TDZ(Temporal Dead Zone) 라고 함
'선언만 되고 아직 초기화 되지 않는 변수가 머무는 공간'
TDZ 에 영향을 받는 구문
const
- const 변수는 선언 및 초기화 전 줄까지 TDZ에 있음
pi; // ReferenceError 발생
const pi = 3.14;
let
- let 변수는 선언 및 초기화 전 줄까지 TDZ에 있음
pi; // ReferenceError 발생
let pi = 3.14;
class
- class 는 선언전에는 사용불가
const myNissan = new Car('red'); // ReferenceError 발생
class Car {
constructor(color) {
this.color = color;
}
}
TDZ 에 영향을 받지않는 구문
var / function / import
// var 정상동작
value; // undefined
var value;
// function 정상동작
test(); // test 출력
function test(who) {
console.log('test');
}
test(); // test 출력
참조
https://dmitripavlutin.com/javascript-variables-and-temporal-dead-zone/
'Programming Languages > JavaScript' 카테고리의 다른 글
[JavaScript] 호이스팅 (Hoisting) (0) | 2024.08.10 |
---|---|
[JavaScript] 연산자 (0) | 2022.06.30 |
[JavaScript] 64비트 부동소수점 (0) | 2022.06.28 |
[JavaScript] 변수 (0) | 2022.06.28 |
JavaScript 란? (0) | 2022.06.28 |
댓글