const toy = {
type: "bear",
price: 15000
}
const blueToy = {
type: "bear",
price: 15000,
color: "blue"
}
const YellowToy = {
type: "bear",
price: 15000,
color: "Yellow"
}
//type과 price 프로퍼티가 각 객체 안에 반복되고 있는 상태
즉, 구조분해 할당을 통해 원하는 값들을 꺼내서 rest안에 원하는 객체를 묶어둘 수 있음
단, rest 문법은 spread 문법과 다르게 여러번 사용할 수 없고, 항상 마지막에 위치해야 함
매개변수 중 첫번째, 두번째 매개변수를 제외하고 배열의 형태로 함수를 호출하고자 할때
이런식으로 console.log에 넣어서 할수도 있음. 하지만 매개변수가 백개라면? 그중에 매개변수 2개를 제외하고 출력하고자 한다면? 출력하려는 98개의 매개변수를 다 적어주기에는 무리임
따라서, 함수의 매개변수에 rest를 사용하면 !
rest안에는 함수에서 받아온 매개변수들로 이루어진 배열이 할당됨
const print = (a, b, c, d, e, f) => {
console.log(a, b, c, d, e, f);
};
// numbers라는 배열의 요소들을 print 함수의 파라미터로 넘겨 매개변수의 값을 출력하는 print함수
const numbers = [1, 2, 3, 4, 5, 6];
// print함수를 호출하고 인수로 numbers[0]부터 numbers[5]까지 넘겨주는 코드
print(numbers[0], numbers[1], numbers[2], numbers[3], numbers[4], numbers[5]);