rest parameters
spread 관련 코드 설명을 하다가 등장한 파라미터에 관한 설명입니다. 역시 설명은 MDN을 참고.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters
코드를 보죠.
function a(a, b, ...arg) {
console.log(a); // 10
console.log(arg[0]); // 30
}
a(10, 20, 30, 40, 50);
파라미터를 받을 때 지정된 개수만큼 받는 것이 아니라 ...arg
로 지정해주면 무한대(?)의 파라미터를 받을 수 있습니다. 이렇게 들어오는 값은 배열로 전달되는데 해당하는 인덱스의 값을 받아서 처리해주면 되는 것이지요.
하지만 해당 코드를 아래와 같이 바꾸면 Uncaught SyntaxError: Rest parameter must be last formal parameter
라는 오류 메시지를 콘솔에서 뿌려줍니다.
function a(a, b, ...arg, c) {
console.log(c);
}
a(10, 20, 30, 40, 50);