TDZ ( Temporal Dead Zone )는 해석하면 "일시적 사각지대"
전에 블로그에 글을 작성하면서 TDZ에 대해서 글을 쓴적이 있는데 자세하게는 보질 않았던것 같기도 하고, 강의에 TDZ라는 단어가 나와서 정확히 TDZ가 무엇인지 글을 작성해본다.
console.log(wanna);
console.log(Ihave)
let wanna = '부자';
const Ihave = '초코칩';
//error : ReferenceError
let과 const
const airConditioner = new cat('wanna')
class cat {
constructor(name) {
this.name = name;
}
}
//error : ReferenceError
class 구문
[변수 생성의 3단]
선언 → 초기화 → 할당
- 선언: 실행 컨텍스트에 변수 객체를 등록 (스코프가 참조)
- 초기화: 변수 객체에 등록된 변수를 위해 메모리에 공간을 확보 (변수는 보통 undefined로 초기화)
- 할당: undefined로 초기화된 변수에 실제 값을 할당
var는 함수수준 스코프를 가지고 있다.
console.log('gonna')
var gonna = '여행'
// '여행'이 뜨게된다.
// 함수 선언식
gonna('괌') // "I gonna 괌"
function gonna (place) {
return `I gonna ${place}`
}
gonna('울릉도') // "I gonna 울릉도"
//함수 표현식
console.log(a())
const a = () => {
return 1
}
//error : ReferenceError
하지만, 함수 표현식은 애러가 뜬다.