JavaScript의 중첩 함수
Shivam Arora
2023년10월12일
함수는 프로그램에서 필요한 모든 위치에서 호출할 수 있는 유용한 코드 블록입니다. 중첩 함수는 함수 내의 함수입니다. 이러한 기능은 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