[javascript] 변수로서의 함수
함수는 일급 객체로 취급되어 변수에 할당하고, 다른 함수에 인자로 전달하거나 다른 함수로부터 반환할 수 있습니다. 이는 함수형 프로그래밍과 콜백 기반의 비동기 처리 등의 여러가지 상황에서 유용하게 활용됩니다.
함수를 변수에 할당하기
const add = function(a, b) {
return a + b;
};
console.log(add(2, 3)); // 5
위의 예제에서 add
라는 이름의 변수에 익명 함수를 할당했습니다. 이제 add
를 통해 해당 함수를 호출할 수 있습니다.
함수를 다른 함수에 전달하기
function greet(name) {
return `Hello, ${name}!`;
}
function showGreeting(greetFunc, name) {
console.log(greetFunc(name));
}
showGreeting(greet, 'Alice'); // Hello, Alice!
위 예제에서 greet
함수를 showGreeting
함수에 인자로 전달하여 호출했습니다.
함수를 다른 함수로부터 반환하기
function createMultiplier(multiplier) {
return function (number) {
return number * multiplier;
};
}
const double = createMultiplier(2);
console.log(double(3)); // 6
createMultiplier
함수는 다른 함수를 반환하는 예제입니다. 반환된 함수는 multiplier
를 이용하여 입력받은 number
를 곱한 결과를 반환합니다.
결론
함수를 변수처럼 다루는 것은 자바스크립트에서의 광범위한 활용성을 제공합니다. 함수형 프로그래밍 패러다임을 따르거나 콜백을 사용하는 경우, 함수를 변수처럼 다루는 것은 매우 효율적이고 유연한 방법일 수 있습니다.
참고문헌: