
함수 선언과 함수 표현식은 JavaScript에서 함수를 정의하는 두 가지 주요 방법이다.
이 둘의 차이점은 주로 호이스팅(hoisting)과 사용 방식에 있다.
function add(a,b){
return a+b;
}
console.log(add(2,3)); //5
function add(a,b){
return a+b;
}
const add = function(a,b){
return a+b;
};
ReferenceError가 발생한다.// console.log(add(2,3)); // ReferenceError
const add = function(a,b){
return a+b;
};
console.log(add(2,3));//5
익명 함수
함수 표현식은 익명 함수로 정의할 수 있다. 즉, 함수 이름 없이 정의할 수 있으며, 이는 콜백 함수로 자주 사용된다.
즉시 실행 함수 표현식(IIFE)
함수 표현식은 즉시 실행 함수로 사용할 수 있다.
(function(){
console.log('즉시 실행');
})();
- 호이스팅
함수 선언은 코드의 어느 위치에서든 호출할 수 있지만, 함수 표현식은 선언 이후에만 호출할 수 있다.- 사용 목적
함수 선언은 주로 일반적인 함수 정의에 사용되고, 함수 표현식은 콜백 함수나 즉시 실행 함수 등 다양한 용도로 사용된다.