Thief of Wealth
Published 2021. 10. 10. 18:59
호이스팅 정리 개발/FrontEnd Interview

자바스크립트 인터프리터가 변수와 함수 선언에 대한 메모리 공간을 미리 할당해 놓는 것.

자바스크립트만의 특별한 기능이라기보다. 기본적으로 프로그래밍 언어에서 지원하는 기능이다.

 

직접 프로그래밍언어를 만들때에도,

어떤 변수가 선언되어있는지 메모리에 할당을 해놓고, 코드를 실행하는 것이 더 쉬울 것이다.

 

이런 개념을 이해하기 쉽게 "끌어올린다"라는 명칭을 붙여서 호이스팅이라고 명명하게 되었다.

 

--

 

자바스크립트에는 다음과 같은 변수 선언방식이 있다고 할 수 있다.

1. var

2. const, let

 

그리고 이 모든 선언은 호이스팅이 일어난다.

차이점이 있다면, const/let은 호이스팅은 되어 메모리에 할당되어있지만

실제 const/let으로 선언된 값을 const/let가 선언된 코드 이전에서 접근을 하려하면

TDZ라는 것이 있어서 Reference Error을 Throw하게 된다는 것이다.

 

 

https://www.youtube.com/watch?v=AlcRl4pJd0c&ab_channel=Taehoon 

 

https://www.youtube.com/watch?v=k9uEtsDAuvY&ab_channel=Taehoon 

 

profile on loading

Loading...