JavaScript의 Curried Sum 함수는 어떻게 여러 인수를 처리할 수 있나요?
가변 합계 함수 커링: 내부 작동 탐색
JavaScript에서 여러 인수를 받아들이고 카레에서 작동하는 합계 함수 만들기 방식은 극복할 수 없는 과제처럼 보일 수 있습니다. 하지만 커링 기술을 사용하면 실제로 가능합니다.
커링은 여러 인수를 취하는 함수를 각각 단일 인수를 취하는 일련의 함수로 변환하는 작업을 포함합니다. 이를 통해 여러 숫자를 추가하기 위해 순차적으로 적용할 수 있는 합계 함수를 만들 수 있습니다.
비결은 함수를 정의하는 방식에 있습니다.
function sum(n) { var v = function(x) { return sum(n + x); };
여기서는 sum(n) 하나의 인수 x를 취하는 함수 v를 반환하고 n x로 sum을 호출한 결과를 반환합니다. 이를 통해 sum에 대한 여러 호출을 연결하여 각각 이전 결과에 다음 숫자를 추가할 수 있습니다.
최종 결과를 처리하기 위해 함수의 valueOf 및 toString 메서드를 정의합니다.
v.valueOf = v.toString = function() { return n; };
이렇게 하면 v를 값으로 호출할 때 누적 합계 n이 반환됩니다.
마지막으로 단항 더하기 연산자( )를 사용하여 결과를 변환합니다. 카레 함수를 원시 숫자로 변환합니다.
console.log(+sum(1)(2)(3)(4));
이렇게 하면 예상 결과가 10으로 출력됩니다.
처음에는 직관에 반하는 것처럼 보일 수 있지만 JavaScript에서 가변 카레 합계 함수를 만드는 것은 커링의 원리와 함수 속성의 영리한 조작을 이용하면 가능합니다.
위 내용은 JavaScript의 Curried Sum 함수는 어떻게 여러 인수를 처리할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









