클린코드 자바스크립트 - 유데미
나머지 매개변수
spred opreater와 다름
function sumTotal(){ //옛 버전은 arguments을 사용
return Array.from(arguments).reduce( //arguments가 유사배열 이기 때문에 Array.from 을 사용
(acc,curr) => acc + curr,
);
}
function sumTotal(initValue, ...args){ //...을 사용하면 나머지 인자를 받을 수 있다
return args.reduce( //args는 배열임 바로 reduce를 사용할 수 있다
(acc,curr) => acc + curr, initValue
);
}
sumTotal(100, 1, 2, 3, 4, 5, 6, 7);
arguments는 전체 인자를 다 받아오므로 별도 인자 사용이 불가하다
...을 사용하면 나머지 인자를 받아오므로 앞에서 선택한 인자는 별도로 사용이 가능하다
그러나 ...을 맨 뒤가 아닌 중간이나 앞에 사용하면 작동하지 않는다.