-
[javascript] 호이스팅에 대한 이해언어/Javascript 2022. 9. 9. 00:44
호이스팅이란?
인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당 하는 것을 뜻하고,
이 때 선언과 초기화를 분리하여, 선언만 코드의 최상단으로 옮겨집니다.
이는 소스코드 평가과정에서 선언한 변수와 함수를 실행 컨텍스트가 관리하는 환경에 등록하는 것으로
호이스팅이 된 선언들은 실행환경에서 변수나 함수를 만날 시에 실행 컨텍스트가 관리하는 환경에서 검색하여 참조됩니다.
var는 호이스팅시 undefined로 변수를 초기화하고, let과 const는 변수를 초기화하지 않으며
이러한 이유로
var는 초기화 전에 실행하는 코드가 나타났을 때 undefined를 출력하고, let과 const는 예외가 발생하는 것입니다.
참고
https://developer.mozilla.org/ko/docs/Glossary/Hoisting
https://kimmeh1.tistory.com/375
'언어 > Javascript' 카테고리의 다른 글
[js/ts] 한글 마지막 단어의 받침 유무를 판단하여 조사 붙이기 (0) 2024.07.25 [라이브러리] moment 자주 사용하는 기능 정리 (0) 2023.06.16 [javascript] HTML 태그의 텍스트를 가져오는 2가지 방법 (0) 2022.08.16 [Javascript] this 에 대해 알아보기 (0) 2022.07.07 [Javascript] 이벤트 루프 - 런타임 개념 (0) 2022.06.22