• 자바스크립트의 실행 컨텍스트에 의한 특징
    • 호이스팅은 “선언”만 끌어올려지는 듯한 현상, 실제로 끌어올려진 “초기화”가 아니다
    • 실행 컨텍스트의 creation phase에서 선언 처리 (undefined로 initialize)
  • var는 undefined가 되지만 let/const는 접근 자체가 불가능.
    • 일시적 사각지대 (TDZ - Temporal Dead Zone)
      • let, const 호이스팅시, 초기화 전에 접근하면 referenceError 발생
    Link to original
      • function scope
        • var
      Link to original
    • Circular transclusion detected: Computer-Science/5-Software-Development/Programming-Language/JavaScript/Scope

      • 코드 블록 내에서만 적용
  • 함수 선언은 완전히 호이스팅됨, 함수 표현식은 그렇지 않음
  • let, const, arrow function도 호이스팅이 되지만 방지하는 방법임
    • let, const
      • TDZ
    • arrow function
      • 변수처럼 취급됨으로 undefined