본문 바로가기
갬발자의 프로그래밍/Javascript

호이스팅

by 코라제이 2019. 12. 20.

함수 앞에서 함수를 호출하는 것을 호이 스팅이라고 한다.

함수 선언문은 초기화 단계에서 함수 오브젝트를 생성하기 때문에 어디에서도 호출할 수 있다.

let foo = hoistingFn();

console.log(foo); // Hoisting

function hoistingFn(){
    return "Hoisting";
}

이것은 function과도 같은 것인데 처음에 선언문을 찾고 그것을 object화 시키며 등록한다

그다음 foo 변수를 초기화하고  마지막으로 실행 함수를 실행시킨다. 그렇기 때문에 오류 발생하지 않고 해석할 수 있는 것이다.  

let foo = hoistingFn();

console.log(foo); // Hoisting

function hoistingFn(){
    return "Hoisting";
};

hoistingFn = function(){
    return "호이스팅";
}

js가 초기화 단계에서 이전에 값이 있다면 초기화하지 않는다.

'갬발자의 프로그래밍 > Javascript' 카테고리의 다른 글

prototype  (0) 2019.12.23
Execution Context  (0) 2019.12.23
Argument 처리 형태  (0) 2019.12.22
function  (0) 2019.12.20
스코프 결정 시점 과 함수레벨스코프  (0) 2019.12.20

댓글