Arguments와 Rest는 모두 함수의 파라미터를 한꺼번에 다룰 수 있게 하는 문법이다.Arguments는 옛날식, Rest는 ES6 신규문법.
: 이미 arguments로 정의되어있고, 모든 파라미터를 포함하고 있다.
function 함수(a,b,c){
console.log(arguments)
}
함수(1,2,3); // [1,2,3]을 담고있는 array와 비슷한 자료가 출력됨!!
arguments 안에서 파라미터를 하나씩 꺼내어 쓰는건
arguments[i] 와 같이 쓸수있다!
// 모든 파라미터를 콘솔에 출력반복 => 아래처럼 쉽다
function 함수(a,b,c){
for (var i = 0; i < arguments.length; i++){
console.log(arguments[i])
}
}
// 근데 일부만 꺼내쓰려면?? 복잡해진다..
: 어떤 이름으로 정의하든 상관 없이, ...을 붙여주면 rest 파라미터가 된다. 이 파라미터의 자리와 그 뒤의 모든 파라미터를 한 배열로 묶어준다.
↓ 어떤 이름이든 상관x
function 함수(a,b, ...rest){
console.log(rest)
}
함수(1,2,3,4,5); // [3,4,5] 출력
arguments와 매우 유사하나, rest 파라미터에 안담고 싶은 파라미터들을 따로 빼 줄 수 있어서, 담고싶은 파라미터들만 간편하게 담아줄 수 있다.