← Notes

자바스크립트 호이스팅

자바스크립트 핵심 개념· 3 / 9
  1. 1 — 자바스크립트 undefined와 null
  2. 2 — 자바스크립트 실행 컨텍스트
  3. 3 — 자바스크립트 호이스팅
  4. 4 — 자바스크립트 함수 선언문과 함수 표현식
  5. 5 — 자바스크립트 스코프 체인
  6. 6 — 자바스크립트 this
  7. 7 — 자바스크립트 콜백 함수
  8. 8 — 자바스크립트 클로저와 가비지 컬렉션
  9. 9 — 자바스크립트 프로토타입

environmentRecord

현재 컨텍스트와 관련된 코드의 식별자 정보들이 저장되는 객체로서 호이스팅에 의해 변수와 함수 선언이 객체 내부에 등록되어 코드 실행 시 해당 식별자들에 접근하고 수정하는 데 사용된다.

호이스팅(Hoisting) 규칙

자바스크립트 엔진은 식별자들을 ‘최상단으로 끌어올려 놓은(호이스팅)’ 다음 실제 코드를 실행한다. 이때 수집되는 정보의 성격별로 차이를 보인다.

  • 매개변수선언된 변수는 식별자(선언부)만 수집할 뿐 할당된 값(할당부)은 수집하지 않는다. 값은 해당 코드가 실행될 때 할당된다.

  • 함수는 그 자체를 수집한다.(코드 실행 순서 상 함수 선언 전에 그 함수를 미리 호출할 수 있는 이유)

  • 같은 식별자가 선언될 경우 후반에 선언된 식별자로 오버라이드된다. 변수와 함수의 식별자가 같은 경우에도 마찬가지다.

목차