[javascript]호이스팅

1105 단어 JavaScriptJavaScript

var, let , const 차이를 공부하니 호이스팅 개념을 잘 모른상태에선 이해가 불가했다.
해서 호이스팅을 먼저 알아보자.

호이스팅이란?

var을 통해 정의된 변수의 선언문을 유효 범위의 최상단으로 끌어올리는 행위
'선언과 할당의 분리'라고 생각하면 된다.

if(true){
  var name = 'shw779';
}
console.log(name);

이렇게 작성한 코드가,

var name; // 선언
if(true){
  name = 'shw779'; // 할당
}
console.log(name);

호이스팅으로 이렇게 변한다.

함수 호이스팅

함수의 선언 역시 호이스팅의 대상이다.
스코프 내에서 어떤 위치에서 함수 선언을 하든지 호출 가능하다.

sayName();

function sayName(){
  console.log('shw779');
}

위의 코드가

function sayName(){
  console.log('shw779');
}

sayName();

호이스팅으로 위와같이 변한다.

출처 - https://yuddomack.tistory.com/entry/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%ED%98%B8%EC%9D%B4%EC%8A%A4%ED%8C%85Hoisting

좋은 웹페이지 즐겨찾기