# 스프레드 오퍼레이터(Spread Operator)
Spread Operator는 특정 객체 또는 배열의 값을 다른 객체(Obejct) 또는 배열로 복사하거나 옮길 때 사용한다.
연산자의 생김새는 ...
과 같이 나타낼 수 있다.
# Usage
먼저 새로운 배열이나 객체를 서로 합칠때 그냥 배열끼리 더해주는 방식을 보면 다음과 같다.
const days = ["Mon", "Tue", "Wed"];
const otherDays = ["Thu", "Fri", "Sat"];
const allDays1 = days + otherDays;
const allDays2 = [days + otherDays];
console.log(allDays1) // "Mon,Tue,WedThu,Fri,Sat"
console.log(allDays2) // ["Mon,Tue,WedThu,Fri,Sat"]
]
위에서 보는 것과 같이 이 방식은 우리가 원하는 방식이 아니다.
그렇다면 Spread Operator를 사용한다면 어떻게 값이 변하는지 살펴보자.
const days = ["Mon", "Tue", "Wed"];
const otherDays = ["Thu", "Fri", "Sat"];
const allDays1 = ...days + ...otherDays;
const allDays2 = [...days + ...otherDays];
console.log(allDays1) // "Mon,Tue,Wed,Thu,Fri,Sat"
console.log(allDays2) // ["Mon,Tue,Wed,Thu,Fri,Sat"]
위에서 보는 것과 같이 Spread Operator는 우리가 원하는 방식의 값을 받아올 수 있다.
이것은 두 개의 Object를 병합할 경우에 매우 유용하게 사용할 수 있다.