함수를 선언하기 전에도 호출하십시오: JavaScript에서 호이스팅

구경하다



예시:




add(2, 6); // 8

function add(x,y){
  return x+y;
}

  • add 함수를 선언하기도 전에 호출했습니다. 이것은 Hoisting 기능으로 인해 JavaScript에서 가능합니다.
  • 호이스팅에서는 모든 선언이 현재 범위의 맨 위로 이동됩니다.
  • 함수뿐만 아니라 다른 모든 변수에도 적용할 수 있습니다.
  • 선언하기 전에도 모든 변수를 사용할 수 있습니다. 예를 들어:

  • num1 = 2;
    console.log(num1); // 2
    var num1;
    

    행동에 게양



    num1 = 2;
    num2 = 6;
    add(num1, num2); // 8
    var num1;
    var num2;
    function add(x,y){
      return x+y;
    }
    

    let과 const



    num1 = 2;
    console.log(num1); // ReferenceError: Cannot access 'num1' before initialization
    let num1;
    

  • let과 const를 사용하면 선언 전에 변수를 사용할 수 없습니다. 사용하려고 하면 위와 같이 ReferenceError가 발생합니다.
  • 이는 let 및 const로 선언된 변수가 맨 위로 이동하고 선언만 하고 초기화되지 않아 ReferenceError가 발생하는 호이스팅 때문입니다.
  • 좋은 웹페이지 즐겨찾기