JavaScript 커링 (Currying) 기법

Beginner

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

소개

이 랩에서는 JavaScript 에서 커링 (currying) 의 개념을 탐구해 보겠습니다. 커링은 여러 인수를 받는 함수를 각각 단일 인수를 받는 일련의 함수로 변환할 수 있는 기술입니다. 이 랩을 통해 커링이 어떻게 작동하고 JavaScript 코드에 어떻게 적용될 수 있는지 더 깊이 이해하게 될 것입니다.

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

함수 커링 (Currying)

함수를 커링하려면 다음 단계를 따르세요.

  1. 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  2. 재귀 (recursion) 를 사용합니다.
  3. 제공된 인수 (args) 의 수가 충분한지 확인합니다.
  4. 충분하다면, 전달된 함수 fn을 호출합니다.
  5. 그렇지 않다면, Function.prototype.bind()를 사용하여 나머지 인수를 예상하는 커링된 함수 fn을 반환합니다.
  6. 가변 인수를 허용하는 함수 (가변 함수, 예: Math.min()) 를 커링하려면, 선택적으로 두 번째 매개변수 arity에 인수의 수를 전달할 수 있습니다.
  7. 다음 코드를 사용합니다.
const curry = (fn, arity = fn.length, ...args) =>
  arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);

다음은 몇 가지 예입니다.

curry(Math.pow)(2)(10); // 1024
curry(Math.min, 3)(10)(50)(2); // 2

요약

축하합니다! 커리 함수 (Curry Function) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.