
ES6(ECMAScript 2015) – 스프레드 연산자와 나머지 매개변수 – 1 – 나머지 매개변수
소제목: 나머지 매개변수란?
자바스크립트의 ES6(ECMAScript 2015)에서는 함수의 매개변수를 선언할 때 나머지 매개변수(rest parameter)를 사용할 수 있습니다. 나머지 매개변수는 매개변수로 전달되는 인자들 중에서 함수가 필요로 하는 매개변수의 수보다 많은 인자들을 배열로 받을 수 있는 문법입니다. 이를 통해 가변 인자 함수를 구현하거나 인자의 개수에 상관없이 유연한 함수를 작성할 수 있습니다.
예시
function sum(...numbers) {
let result = 0;
for (let number of numbers) {
result += number;
}
return result;
}
console.log(sum(1, 2, 3, 4, 5)); // 15
console.log(sum(10, 20)); // 30
console.log(sum(4, 7, 2, 8, 5, 1)); // 27
위의 예시에서 sum
함수는 나머지 매개변수 ...numbers
를 사용하여 인자들을 배열로 받고, 받은 인자들을 순회하며 합을 계산하여 반환합니다. 함수를 호출할 때 전달하는 인자들의 개수에 상관없이 유연하게 동작합니다.
비유적인 표현
나머지 매개변수는 마치 마법 상자와 비슷합니다. 우리는 함수에 어떤 인자들을 전달하더라도 마법 상자인 나머지 매개변수가 그 인자들을 모두 담아두고 있습니다. 그리고 우리는 그 상자 안에 있는 값들을 순회하며 원하는 작업을 수행할 수 있습니다. 나머지 매개변수를 통해 함수는 유연성과 확장성을 갖게 됩니다.
나머지 매개변수의 활용
나머지 매개변수는 다음과 같은 상황에서 유용하게 활용될 수 있습니다:
- 가변 인자 함수: 함수가 가변 개수의 인자를 받아야 할 때, 나머지 매개변수를 사용하여 해당 인자들을 배열로 쉽게 다룰 수 있습니다.
- 인자의 수 검사: 나머지 매개변수를 사용하여 함수가 원하는 개수의 인자를 받았는지 확인하고, 필요한 처리를 수행할 수 있습니다.
- 인자 필터링: 나머지 매개변수를 사용하여 함수에 전달되는 인자들 중에서 필요한 인자만 추출하거나 제외할 수 있습니다.
주의해야 할 점
나머지 매개변수를 사용할 때 주의해야 할 몇 가지 사항이 있습니다:
- 나머지 매개변수는 항상 함수의 마지막 매개변수로 선언되어야 합니다. 그렇지 않으면 문법 오류가 발생합니다.
- 나머지 매개변수는 배열 형태로 인자들을 받기 때문에, 배열 메서드를 사용하여 원하는 작업을 수행할 수 있습니다.
- 나머지 매개변수는 함수 내부에서 배열로 취급되기 때문에, 함수 내부에서 배열과 관련된 다양한 메서드와 속성을 활용할 수 있습니다.
요약
ES6(ECMAScript 2015)에서 도입된 나머지 매개변수는 함수의 매개변수를 유연하게 다룰 수 있게 해주는 기능입니다. 나머지 매개변수를 사용하면 가변 인자 함수를 작성하거나 인자의 수를 유연하게 다룰 수 있습니다. 나머지 매개변수는 마법 상자와 같이 함수에 전달되는 인자들을 모두 담고 있어 필요한 작업을 수행할 수 있게 해줍니다.
[ES6(ECMAScript 2015), 스프레드 연산자와 나머지 매개변수, 1, 나머지 매개변수]