JavaScript - 함수 선언문과 함수 표현식


  1. 함수 선언문
function a(){
  return 'a';
}
  1. 기명 함수표현식
var b = function bb(){
  return 'bb'
}
  1. (익명) 함수표현식
var c = function(){
  return 'c';
}
  1. 변수 c선언
  2. 익명함수 선언
  3. 변수 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만 위로 끌어올려지기 때문이다.