본문 바로가기

JS2

[JavaScript] TDZ(Temporal Dead Zone) TDZ 란?TDZ(Temporal Dead Zone) - 일시적인 사각지대스코프의 시작 지점부터 초기화 시작 지점까지의 구간을 TDZ(Temporal Dead Zone) 라고 함'선언만 되고 아직 초기화 되지 않는 변수가 머무는 공간'   TDZ 에 영향을 받는 구문constconst 변수는 선언 및 초기화 전 줄까지 TDZ에 있음pi; // ReferenceError 발생const pi = 3.14; letlet 변수는 선언 및 초기화 전 줄까지 TDZ에 있음pi; // ReferenceError 발생let pi = 3.14; classclass 는 선언전에는 사용불가const myNissan = new Car('red'); // ReferenceError 발생class Car { constructo.. 2024. 8. 10.
[JavaScript] 호이스팅 (Hoisting) 호이스팅이란?호이스팅은 인터프리터가 코드를 실행하기 전에 함수, 변수, 클래스 또는 임포트(import)의 선언문을 해당 범위의 맨 위로 끌어올리는 것처럼 보이는 현상을 뜻합니다. - MDN Web Docs  사전적으로 "끌어올리다" 를 의미스크립트 내 선언된 함수 및 변수들이 순서에 상관없이 최상단으로 끌어올려짐자바스크립트 엔진이 컴파일 과정에서 먼저 미리 스캔하고 실행 컨텍스트에 변수/함수객체를 미리 저장하기에 이런 현상이 발생 변수 호이스팅변수가 호이스팅 될 때는 선언, 초기화만 된채로 호이스팅 되고 할당까지 호이스팅 되지 않음var 로 선언된 변수의 호이스팅아래 예제에서 console.log() 는 초기화 된 var 변수를 출력하므로 undefined를 출력 console.log(hoistVar.. 2024. 8. 10.