JavaScript 에서 효율적인 함수 합성

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 JavaScript 에서 함수 합성 (function composition) 의 개념을 탐구합니다. 여러 함수를 왼쪽에서 오른쪽 순서로 일련의 연산을 수행하는 단일 함수로 결합하는 방법을 배웁니다. pipeFunctions 함수를 사용하여 함수 합성의 이점과 코드를 단순화하고 가독성을 높이는 방법을 알아봅니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

파이프를 사용한 함수 합성

파이프를 사용하여 코딩을 연습하려면 터미널/SSH 를 열고 node를 입력하십시오.

pipeFunctions 함수는 스프레드 연산자 (...) 와 함께 Array.prototype.reduce()를 사용하여 왼쪽에서 오른쪽으로 함수 합성을 수행합니다. 첫 번째 (가장 왼쪽) 함수는 하나 이상의 인수를 허용할 수 있지만, 나머지 함수는 단항 (unary) 이어야 합니다.

const pipeFunctions = (...fns) =>
  fns.reduce(
    (f, g) =>
      (...args) =>
        g(f(...args))
  );

다음은 pipeFunctions를 사용하여 두 숫자를 곱한 다음 결과에 5 를 더하는 새로운 함수 multiplyAndAdd5를 만드는 예입니다.

const add5 = (x) => x + 5;
const multiply = (x, y) => x * y;
const multiplyAndAdd5 = pipeFunctions(multiply, add5);
multiplyAndAdd5(5, 2); // 15

이 예에서 multiplyAndAdd5는 두 개의 인수 52를 받아 먼저 multiply를 적용하여 10을 생성한 다음, 결과에 add5를 적용하여 15를 생성하는 새로운 함수입니다.

요약

축하합니다! 파이프 함수 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.