//호이스팅 전
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에서는 화살표 함수를 학습할 예정!