JavaScript에서 숫자를 매개변수로 전달하기
이제 전달된 함수가 무언가를 수행하는 숫자를
test 내부에 하드코딩하지 말고,
첫 번째 매개변수로 전달해 봅시다:
function test(num, func) { // 첫 번째 매개변수로 숫자가 옵니다
console.log(func(num));
}
우리의 함수를 사용해 봅시다:
function test(num, func) {
console.log(func(num));
}
// 4를 출력합니다:
test(2, function(num) {
return num * num;
});
우리 구조의 편리함: 숫자를 매개변수로 받는
하나의 함수 test가 있습니다.
하지만 숫자에 대해 수행될 작업이
함수 test에 하드코딩되어 있지 않습니다.
예를 들어, 함수 test의 두 번째 매개변수로
제곱을 구하는 함수를 전달할 수도 있고,
예를 들어 세제곱을 구하는 함수를 전달할 수도 있습니다:
function test(num, func) {
console.log(func(num));
}
// 숫자의 제곱을 구합니다:
test(2, function(num) {
return num * num; // 제곱을 반환합니다
});
// 숫자의 세제곱을 구합니다:
test(2, function(num) {
return num * num * num; // 세제곱을 반환합니다
});
함수 test가 첫 번째 매개변수로는 숫자를 받고,
두 번째 및 세 번째 매개변수로는
역시 숫자를 매개변수로 받는 함수들을 받는다고 가정합니다.
함수 test가 전달된 함수들의 결과의 합을
반환하도록 합니다:
function test(num, func1, func2) {
return func1(num) + func2(num);
}
함수 test를 호출하고, 첫 번째 매개변수로
숫자 3를 전달하고, 두 번째 매개변수로는
숫자를 제곱하는 함수를, 세 번째 매개변수로는
숫자를 세제곱하는 함수를 전달하세요.
작업 결과를 콘솔에 출력하세요.