JavaScript의 중첩 함수

Shivam Arora 2023년10월12일
JavaScript의 중첩 함수

함수는 프로그램에서 필요한 모든 위치에서 호출할 수 있는 유용한 코드 블록입니다. 중첩 함수는 함수 내의 함수입니다. 이러한 기능은 JavaScript가 포함된 많은 프로그래밍 언어에서 지원됩니다.

이 튜토리얼에서는 JavaScript의 중첩 함수를 소개합니다.

외부에 있는 기능을 외부 기능이라고 합니다. 내부에 중첩된 함수를 내부 함수라고 합니다. 각 함수는 다른 인수를 받아들일 수 있습니다.

다음과 같은 방법으로 구현할 수 있습니다.

function a(x) {    // Outer function
  function b(y) {  // inner function
    return x - y;
  }
  return b;
}

console.log(a(5)(4))

출력:

1

위의 예에서 a()는 외부 함수이고 b()는 내부 함수입니다. 반환된 최종 결과는 두 함수의 인수를 사용합니다.

함수는 외부 함수에서 정의할 수 있고 함수의 어느 부분에서나 변수처럼 생성할 수 있는 클래스 객체입니다. 이 방법을 커링이라고 합니다.

아래 코드를 참조하십시오.

function outer(x) {
  var w = function inner(y) {
    return x * y;
  } return w;
};

var outvar = outer(2);
console.log(outvar(4));

출력:

8

중첩 함수에는 또 다른 이점이 있습니다. 외부에서 정의된 경우에도 다른 함수 내부에서 계산을 수행하는 데 사용할 수 있습니다.

예를 들어,

function calculate(a, b, fn) {
  var c = a + b + fn(a, b);
  return c;
}

function sum(a, b) {
  return a + b;
}

function product(a, b) {
  return a * b;
}


console.log(calculate(10, 20, sum));
console.log(calculate(10, 20, product));

출력:

60
230

관련 문장 - JavaScript Function