본문 바로가기
Programming Languages/JavaScript

[JavaScript] TDZ(Temporal Dead Zone)

by IamBeau 2024. 8. 10.

TDZ 란?

TDZ(Temporal Dead Zone) - 일시적인 사각지대
스코프의 시작 지점부터 초기화 시작 지점까지의 구간을 TDZ(Temporal Dead Zone) 라고 함
'선언만 되고 아직 초기화 되지 않는 변수가 머무는 공간'

 

 

https://dmitripavlutin.com/javascript-variables-and-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/

 

Don't Use JavaScript Variables Without Knowing Temporal Dead Zone

Temporal Dead Zone forbids the access of variables and classes before declaration in JavaScript.

dmitripavlutin.com

 

 

'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

댓글