메서드 체인은 일련의 함수를 허용한다

발행: (2026년 2월 4일 오후 12:49 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

JavaScript에서 메서드 체이닝

메서드 체이닝은 같은 객체 또는 결과에 대해 여러 메서드를 순차적으로 호출하는 것을 의미합니다. 이 패턴은 filter, map, reduce 같은 배열 메서드에서 흔히 사용되며, 각 메서드가 새로운 배열이나 값을 반환해 다음 메서드가 그 결과를 가지고 작업할 수 있게 합니다.

예시: 배열 메서드 체이닝

const numbers = [1, 2, 3, 4, 5];

const result = numbers
  .filter(num => num % 2 === 0) // 짝수만 필터링
  .map(num => num * 2) // 남은 각 숫자를 두 배로
  .reduce((acc, num) => acc + num, 0); // 두 배가 된 숫자들을 합산

console.log(result); // Outputs 18 (2*2 + 4*2 + 5*2)

작동 방식

Filter

원본 배열에서 짝수만 포함하는 새로운 배열을 생성합니다.

Map

필터링된 배열의 각 숫자를 두 배로 만들어 또 다른 새로운 배열을 만듭니다.

Reduce

맵핑된 배열에 있는 모든 두 배가 된 숫자를 합산해 단일 값(18)을 반환합니다.

예시: 객체 배열과 함께 체이닝

let cart = [
  { name: "Drink", price: 3.12 },
  { name: "Steak", price: 45.15 },
  { name: "Drink", price: 11.01 },
];

const drinkTotal = cart
  .filter(item => item.name === "Drink")
  .map(item => item.price)
  .reduce((total, price) => total + price, 0)
  .toFixed(2);

console.log(`Total Drink Cost $${drinkTotal}`); // Total Drink $14.13

메서드 체이닝의 장점

  • 가독성 향상 – 데이터 변환 흐름이 명확하고 선형적입니다.
  • 중간 변수 필요 감소 – 각 단계가 다음 단계에 전달할 값을 반환합니다.
  • 더 선언적인 코드어떻게 임시 상태를 관리할지보다 무엇을 해야 하는지를 표현합니다.

행복한 코딩 되세요! 🔥

Back to Blog

관련 글

더 보기 »

JavaScript에서 커링

제가 처음 JavaScript를 배웠을 때, 커리링 같은 개념은 혼란스럽고 불필요하게 느껴졌습니다—실제로 사용해 보기 전까지는요. 커리링이란 무엇일까요? 커리링은 함수...