익명 함수는 이름이 없는 함수이다.
익명 함수는 일반 함수와 유사한 속성(properties)을 가진다.
this 키워드를 사용할 수 있다. 그러나 화살표 함수의 경우, this는 상위 스코프의 this를 가리킨다.익명 함수는 이름 없이 함수 키워드와 매개변수, 실행 블록으로 정의된다.
// greet 변수에 익명함수 할당
const greet = function() {
console.log("Hello, World!");
};
익명 함수를 호출하기 위한 방법
// greet에 할당된 익명함수 호출
greet(); // "Hello, World!"
익명 함수는 객체의 동작(behavior)을 구현하는 메서드로 사용될 수 있다.
// 객체 내부에 메서드의 형태로 존재하는 익명함수
const person = {
greet: function() {
console.log("Hello, " + this.name);
}
};
다른 함수의 인자로 넘겨지는 함수로, 특정 이벤트가 발생했을 때 실행된다.
// setTimeout 함수에 인자로 넘겨지는 익명함수
setTimeout(function() {
console.log("3초 후 실행");
}, 3000);
선언과 동시에 실행되는 함수
// 선언과 동시에 함수 실행
(function() {
console.log("즉시 실행 함수");
})();
HTML 요소의 이벤트에 반응하는 함수로, 주로 익명 함수 형태로 사용된다.
// "myButton" 요소를 "클릭"했을 때, 콘솔에 "버튼 클릭!" 출력하도록 하는 익명 함수
document.getElementById("myButton").addEventListener("click", function() {
console.log("버튼 클릭!");
});