JavaScript에서 함수 합성

발행: (2025년 12월 11일 오전 03:33 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

Introduction

함수형 컴포지션(함수 파이프라인이라고도 함)은 간단한 함수를 연결해 더 읽기 쉽고 모듈화된 코드를 만들 수 있게 해줍니다.

Defining Simple Functions

const double   = x => x * 2;
const minusOne = x => x - 1;
const square   = x => x * x;
  • double(x): 2배로 곱합니다
  • minusOne(x): 1을 빼습니다
  • square(x): 숫자를 제곱합니다
  • Math.sqrt: 제곱근을 반환하는 내장 함수

Building the Function Pipeline

함수 레퍼런스를 배열에 저장합니다—이 시점에서는 호출이 이루어지지 않습니다.

const functions = [
  square,
  double,
  minusOne,
  Math.sqrt,
];

Executing the Pipeline

초기값을 정하고 각 함수를 순서대로 적용합니다.

let result = 42; // 시작 숫자

for (const fn of functions) {
  result = fn(result);
}

루프는:

  1. 현재 result를 가져옵니다.
  2. 다음 함수(fn)에 전달합니다.
  3. 출력값을 다시 result에 저장합니다.

호출 순서는 다음과 동일합니다:

result = square(42);
result = double(result);
result = minusOne(result);
result = Math.sqrt(result);

Step‑by‑Step Calculation

StepOperationResult
1square(42)1764
2double(1764)3528
3minusOne(3528)3527
4Math.sqrt(3527)≈ 59.380

Full Code Example

const double   = x => x * 2;
const minusOne = x => x - 1;
const square   = x => x * x;

const functions = [
  square,
  double,
  minusOne,
  Math.sqrt,
];

let result = 42; // 시작 숫자

for (const fn of functions) {
  result = fn(result);
}

console.log('The answer is ' + result);
// The answer is 59.380217...
Back to Blog

관련 글

더 보기 »

JavaScript에서 일급 함수

소개 개발자들이 JavaScript를 배우면서 “first‑class functions”라는 용어가 토론과 문서에서 자주 등장합니다. JavaScript에서 함수는 …

JavaScript의 함수

함수란 무엇인가? 함수는 특정 작업을 수행하도록 설계된 코드 블록이다. 함수는 호출될 때만 실행된다. javascript function add { console.log'He...