[TIL] 2021.08.30

MinJae·2021년 8월 30일
0

TIL

목록 보기
4/7
post-thumbnail
post-custom-banner

1. function Hoisting

//호이스팅 전

add(2,3) //5

//함수 선언문 형식으로 정의
function add(x,y){
  return x+y;
}

add(3,7) //10

add(2,3)은 함수가 아직 정의되기 전이지만 호출이 가능하다
왜냐하면 호이스팅 때문이다.

// 호이스팅 후 배치

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

add(2,3)
add(3,7)

함수 선언문 형식으로 선언된 함수는
호이스팅 효과로 add 함수가 코드 상단으로 끌어올려진다.


반면에

//호이스팅 전

add(2,3) // error

//함수 표현식 형식으로 정의
var add = function (x,y){
  return x+y;
}

add(3,7) //10

add(2,3) 함수가 아직 생성되기 전이므로 uncaught type error 발생

// 호이스팅 후

var add

add(2,3)
add(3,7)

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

함수 선언은 최상단으로 호이스팅 된다
함수 표현식은 호이스팅 되지 않는다.


함수표현식만을 사용하도록 권장!

다음 TIL에서는 화살표 함수를 학습할 예정!

profile
나 개발 좋아하네?
post-custom-banner

0개의 댓글