[JS] 호이스팅(hoisting)
1) 호이스팅이란? (1) 호이스팅 개념 변수&함수 선언만 해당 스코프의 최상단으로 끌어올려지는 걸 호이스팅이라고 한다. 아래와 같이 변수를 선언해도 상단에서 변수 참조가 가능하다. console.log(a) var a; 단, 변수의 선언만 끌어올려지므로 값을 할당해도 결과는 undefined가 된다. console.log(a) var a = 1; 2) 호이스팅이 발생하는 이유 (1) 왜 발생할까? 🏃🏻 자바스크립트 엔진에서 변수를 생성하는 단계를 먼저 살펴보자 자바스크립트 엔진에서 변수는 선언 → 초기화 → 할당을 거쳐 생성된다. 단계 설명 선언 단계 변수를 실행 컨텍스트(실행 코드에 제공할 정보 객체)의 변수 객체에 등록한다. 초기화 단계 변수 객체에 등록된 변수를 위한 메모리 공간을 확보한다. (이..
2021. 12. 21.