JavaScript - 함수 선언문과 함수 표현식
in JS on Scope, Hoisting
- 함수 선언문
function a(){
return 'a';
}
- 기명 함수표현식
var b = function bb(){
return 'bb'
}
- (익명) 함수표현식
var c = function(){
return 'c';
}
- 변수 c선언
- 익명함수 선언
- 변수 c에 익명함수를 할당
선언한 함수를 변수에 할당한다. 할당을 하지 않으면 전체가 hoisting디ㅗ고 할당을 하면 hoisting이 되지 않는다.
var sum = function(a,b){
return a + '+' + b + '=' + (a+b);
}
sum(1,2);
var sum = function(a,b){
return a+b;
}
sum(1,2);
=> 안전하다. sum만 위로 끌어올려지기 때문이다.