배열의 원소나 객체의 프로퍼티를 나누는데 사용됨
그러므로 배열이나 객체를 펼침
const numb = [1,2,3,4,5]
const newNumb = [...numb, 6,7]
console.log(newNumb) // [1,2,3,4,5,6,7]
배열에서는 위의 예시와 같이 사용이 가능하다
객체에서도 전개구문을 사용할 수 있다
아래의 예시를 보자
const cat = {
name : 'jerry',
age : 3
}
const newCat = {
...cat,
color : 'black'
}
console.log(newCat)
//{name: 'jerry', age: 3, color: 'black'}
요약하자면 스프레드 연산자는 배열을 복사하거나 이전 객체를 복사해서 객체에 프로퍼티를 추가하는 작업에 사용할 수 있음
함수의 인수 목록을 배열로 합치는 데 사용됨
const rhkdus = (...args) => {
return args.filter(el => el === 1);
}
console.log(rhkdus(1,2,3,4)); // [1]
function a(...args) {
return args.filter(el => el === 1);
}
console.log(a(1,2,3,4)); // [1]
둘 다 같은 예시인데 하나는 화살표 함수를 사용했고 나머지 하나는 일반적인 함수선언을 사용했다
함수의 인자로 들어온 것들을 filter메소드를 사용하여 1과 같은 것만 리턴하게 했다
그랬더니 결과가 [1]
로 나왔는데 인수에서 나온 목록을 배열로 반환하였다
자주 쓰이는 건 아니라고 하는데 그래도 알아두면 좋을 듯 하다