함수의 호출에서 사용(Rest Parameters)
function restOpr(a, b, ...args) {
console.log([a, b, args]);
}
restOpr(1, 2, 3, 4, 5); // [1, 2, [3, 4, 5]]
restOpr(1, 2); // [1, 2, []]
배열 또는 객체가 리터럴 방식으로 선언되는 경우 사용
값이 참조형인 경우 ⇒ 값을 변경 시 참조한 값도 영향
const arr = {a: 1, b: 2};
const array = ['one', 'two', ...arr];
console.log(array); // ['one', 'two', {a: 1, b: 2}]
arr.a = 3;
console.log(array); // ['one', 'two', {a: 3, b: 2}]
값이 원시형인 경우 ⇒ 값을 변경 시 참조한 값 영향 없음
const arr = [1, 2];
const array = ['one', 'two', ...arr];
console.log(array); // ['one', 'two', [1, 2]]
arr[0] = 3;
console.log(array); // ['one', 'two', [1, 2]]