JavaScript에서 함수 표현식(Function Expression)은 함수 선언문과 문법이 거의 동일하지만, 이름을 붙일 수도 있고 붙이지 않을 수도 있다는 점에서 차이가 있습니다. 이름이 있는 함수 표현식은 호출 스택(call stack)에서 함수 이름을 확인할 수 있어 디버깅에 유리하고, 이름이 없는 표현식을 바로 익명 함수(Anonymous Function)라고 부릅니다.
익명 함수의 기본 예제
익명 함수는 말 그대로 함수에 이름을 지정하지 않고, 변수에 할당하는 방식으로 정의합니다. 아래 예제를 살펴보겠습니다.
var myFunction = function() {
// 함수 코드
}위 코드에서 function() { ... } 부분이 익명 함수입니다. 함수 자체에는 이름이 없지만, 변수 myFunction에 저장되어 있기 때문에 이 변수를 통해 언제든 호출할 수 있습니다.
익명 함수 호출 방법
변수에 할당된 익명 함수는 일반 함수처럼 변수 이름 뒤에 괄호를 붙여 호출합니다.
myFunction()
이렇게 호출하면 변수가 참조하고 있는 함수 본문이 실행됩니다.
익명 함수의 특징 정리
정리하면, 익명 함수란 이름 없이 정의되어 변수에 연결(저장)되어 사용되는 함수를 의미합니다. 익명 함수도 일반 함수와 마찬가지로 다음과 같은 기능을 그대로 사용할 수 있습니다.
- 매개변수를 통해 입력값을 받을 수 있습니다.
return문으로 결과값을 반환할 수 있습니다.- 콜백 함수, 이벤트 핸들러 등 다양한 상황에서 활용됩니다.
예를 들어 매개변수와 반환값이 있는 익명 함수는 아래와 같이 작성할 수 있습니다.
var add = function(a, b) {
return a + b;
};
console.log(add(3, 5)); // 8 출력이처럼 익명 함수는 코드를 간결하게 만들어 주고, 한 번만 사용하거나 다른 함수의 인자로 전달할 때 특히 유용하게 활용됩니다.