1. Spread 연산자
// 1. Spread 연산자
// -> Spread : 흩뿌리다, 펼치다 라는 뜻
// 객체나 배열에 저장된 여러 개의 값을 개별로 흩뿌려주는 연산자
let arr1 = [1, 2, 3];
let arr2 = [4,...arr1, 5, 6];
console.log(...arr2);
오브젝트에서도 spread 연산자를 사용할 수 있다.
let obj1 = {
a: 1,
b: 2,
}
let obj2 = {
...obj1,
c: 3,
d: 4,
}
console.log(obj2);
함수에서도 역시 spread 연산자를 사용하여 값을 흩뿌릴 수 있다.
function funcA(p1, p2, p3){ console.log(p1, p2, p3); } funcA(...arr1);

2. Rest 매개변수
Spread 연산자와 다르다! 엄연히 다름!
아무리 많은 매개변수가 들어오더라도 배열에 한 번에 저장하여 불러올 수 있다.
// 2. Rest 매개변수
// -> Rest : 나머지, 나머지 매개변수
function funcB(...rest){
console.log(rest);
}
funcB(arr1);
✅ Rest 매개변수 뒤에는 다른 매개변수가 올 수 없다

Rest 매개변수 앞에는 다른 매개변수를 넣을 수 있다. 하지만 Rest매개변수는 지금부터 나오는 모든 인수를 배열에 저장하는 기능을 가지고 있기 때문에 뒤에 무언가 올 수 없다.
Share article