JavaScript에서 전달되는 함수의 매개변수

다른 함수를 매개변수로 받아들이고, 전달된 그 함수의 작업 결과를 콘솔에 출력하는 함수 test가 있다고 가정해 보겠습니다:

javascriptfunction test(func) {
  console.log( func() );
}

전달된 함수 func가 숫자를 매개변수로 받아들여 무언가를 한다고 가정해 보겠습니다. 예를 들어 숫자 3을 전달해 보겠습니다:

javascriptfunction test(func) {
  console.log( func(3) );
}

이제 익명 함수를 매개변수로 전달하여 함수 test를 호출해 보겠습니다. 이 익명 함수는 숫자를 매개변수로 받아들이고 그 숫자의 제곱을 반환할 것입니다.

이 모든 결과로 우리의 구조는 숫자 3의 제곱, 즉 9을 출력할 것입니다:

javascript// 9를 출력합니다:
test(
  function(num) {
    return num * num;
  }
);

function test(func) {
  console.log(func(3));
}

코드를 더 우아하게 작성해 보겠습니다:

javascript// 9를 출력합니다:
test(function(num) {
  return num * num;
});

function test(func) {
  console.log(func(3));
}
Задание 1

제 함수 test의 코드를 복사하세요. 이 함수를 호출하여 숫자를 매개변수로 받아들이고 그 숫자의 세제곱을 반환하는 익명 함수를 매개변수로 전달하세요.

Задание 2

전달되는 함수가 익명이 아니라 func라는 이름을 가진 함수 선언(Function Declaration)으로 정의되도록 코드를 수정하세요.

Задание 3

동일한 이름 func를 가진 함수 표현식(Function Expression)으로 전달되는 함수를 수정하세요.

Задание 4

이제 전달되는 함수가 두 개의 매개변수를 받아들이고 그 합계를 반환한다고 가정해 보겠습니다. test 내부에서 전달되는 함수를 호출할 때, 숫자 2와 숫자 3를 전달되는 함수에 전달하세요. 결과를 출력하세요.