console.log(a); // undefined
var a = 10;
console.log(a); // 10
Hoisting(호이스팅)이란, 자바스크립트에서 변수와 함수 선언을 코드의 맨 위로 끌어올려지는것처럼 적용됩니다. 컴파일 과정에서 발생하며, 호이스팅 덕분에 선언 이전에 변수를 사용할 수 있게 됩니다. 하지만 할당은 호이스팅되지 않으므로 초기 값을 설정하는 경우 주의가 필요합니다.
console.log(b); // ReferenceError: b is not defined
let b = 20;
console.log(b);
TDZ(Temporal Dead Zone)는 임시적 사각 지대라는 의미로, let과 const로 선언된 변수의 범위를 나타냅니다. 변수가 선언되기 전에 접근하려고 시도하면 참조 에러가 발생하는 영역입니다. let과 const 키워드를 사용하여 변수를 선언하면, 선언 전에는 TDZ에 속하게 되어 호이스팅에 영향을 받지 않습니다. 이를 통해 변수가 선언 되기 전에 사용되는 상황을 방지할 수 있습니다.
'면접준비' 카테고리의 다른 글
프레임워크와 라이브러리 차이점 (0) | 2023.07.21 |
---|---|
parameter와 argument의 차이 (0) | 2023.07.20 |
Patch는 왜 RESTful API에서 잘 사용되지 않을까? (0) | 2023.07.19 |
Restful API에 아는걸 적어보자. (0) | 2023.07.19 |
웹페이지가 브라우저에 랜더링되는 과정 (0) | 2023.07.19 |