Hoisting

홍성표·2022년 5월 19일
0

호이스팅 이란?

  • 코드 실행을 위한 컨텍스트를 만들면서 코드 관련 식별자(변수명, 함수명)를 수집하며 발생하는 현상.
  • 변수/함수의 선언부만 코드의 최상단으로 끌어올려주는 것
  • 선언보다 호출이 앞서도 에러가 안나는 경우가 있을 수 있다.

ex) 함수 선언식

printName("홍길동");

function printName(name) {
	console.log(`제 이름은 ${name}입니다.`);
}

// 실행 결과 : 
// '제 이름은 홍길동입니다'
  • 함수가 선언되기도 전에 실행을 했는데 문제 없이 잘 실행된다.

이런 상황을 방지하기 위해 함수 표현식을 사용하는게 좋다.

ex)

printName("홍길동");

const printName = (name) => {
	console.log(`제 이름은 ${name}입니다.`);
}

// 실행 결과
// Error: printName is not defined
  • const 를 사용하면 호이스팅을 방지할 수 있다.
profile
안녕하세요. 홍성표입니다.

0개의 댓글