호이스팅

이서림·2024년 7월 30일

JavaScript

목록 보기
5/28

호이스팅

  • 코드에서 변수를 선언하기 전에 해당 변수를 사용할 수 있는 것처럼 보이는 현상
    console.log(a);
    var a = 10;
    console.log(a); 가 변수의 선언보다 먼저 호출이 되었지만 선언문이 스코프의 최상단으로 끌어 올려지면서 다음 코드처럼 같이 동작.
    var a;
    console.log(a);
    a = 10;
  • 호이스팅에서 var const let 의 차이점은?
    • let, const는 TDZ(Temporal Dead Zone. 임시 접근 불가구역)라는것을 만들어서 호이스팅이 되었지만 안된 것처럼 동작.

    • 호이스팅으로 인해 개발자가 의도하지 않은 결과가 만들어지고, 이는 코드의 가독성과 유지보수성을 해치기 때문.

    • 초기화 전에 TDZ에 배치된 변수에 접근하려고 하면 에러를 발생

      console.log(b); // ReferenceError: Cannot access 'b' before initialization
      let b = 20;
profile
꾸준한 열정으로 나아가는 프론트엔드 개발자

0개의 댓글