[JavaScript] 나머지 매개변수(Rest Parameters)

HICHULOG·2024년 4월 4일
0

자바스크립트

목록 보기
4/6
post-thumbnail

🔎 나머지 매개변수(Rest Parameters)

나머지 매개변수(Rest Parameters)는 함수에 전달된 인자들 중에서 정의된 매개변수에 할당되지 않은 나머지 모든 인자들을 배열로 모아주는 문법입니다. 나머지 매개변수는 함수 정의 시 매개변수 이름 앞에 ...을 붙여서 사용합니다. 이 기능을 사용하면, 함수가 받을 인자의 개수가 유동적일 때 유용하게 사용할 수 있습니다.

function 함수명(...매개변수명) {
  // 함수 본문
}

✅ 주요 특징

  • 가변 인자 처리: 함수가 받을 인자의 개수가 고정되어 있지 않을 때 유용하게 사용됩니다.
  • 배열 형태: 나머지 매개변수는 함수에 전달된 인자들 중 정의된 매개변수에 할당되지 않은 나머지를 배열로 만들어 줍니다.
  • 매개변수 목록의 마지막에 위치: 나머지 매개변수는 항상 함수 매개변수 목록의 마지막에 위치해야 합니다.

📝 예제

function sum(...numbers) {
  return numbers.reduce((acc, current) => acc + current, 0);
}

console.log(sum(1, 2, 3, 4)); // 출력: 10

이 예제에서, sum 함수는 몇 개의 숫자가 입력될지 미리 알 수 없으므로 나머지 매개변수 numbers를 사용하여 모든 입력을 배열로 받습니다. 그 후 reduce 메소드를 사용하여 모든 숫자의 합을 계산합니다. 나머지 매개변수는 함수가 가변적인 수의 인자를 보다 유연하게 처리할 수 있도록 도와줍니다.

💡 기억에 잘 남는 팁

"파티 초대장과 게스트 리스트"를 예로 들어봅시다.

당신이 파티를 주최한다고 가정합시다. 하지만 몇 명이 올지, 누가 올지 미리 알 수 없습니다. 이때, 모든 게스트의 이름을 한 번에 받아서 게스트 리스트를 만들어야 한다면 어떻게 할까요?

  • 파티 초대장 = 함수
  • 게스트 = 인자들
  • 게스트 리스트 = ...args

파티 초대장(함수)을 통해 오는 모든 게스트(인자들)의 이름을 게스트 리스트(...args)에 적어두려고 합니다. 이렇게 하면, 누가 오든 몇 명이 오든 한 번에 모두를 관리할 수 있는 게스트 리스트(인자 배열)가 만들어집니다.

function partyInvitation(...guests) {
  console.log("게스트 리스트:", guests);
}

partyInvitation("앨리스", "밥", "캐롤"); // 게스트 리스트: ['앨리스', '밥', '캐롤']

이 비유를 통해 나머지 매개변수가 가변적인 수의 인자들을 배열로 쉽게 관리할 수 있게 해주는 "게스트 리스트"와 같은 역할을 한다는 것을 기억할 수 있습니다. 파티에서 게스트들을 관리하는 것처럼, 나머지 매개변수를 사용해 함수에서 여러 인자들을 효율적으로 다룰 수 있습니다!

🚀 TIL

나머지 매개변수(Rest Parameters)

profile
🚀 Front-end Dev

0개의 댓글