▶ ... 의 형태로, 하나로 뭉쳐있는 여러 값들의 집합을 풀어헤치는 문법
▶ 배열 리터럴만으로 2개의 배열을 1개의 배열로 합칠수 있다.
const arr = [ ...[1, 2], ...[3, 4]]
console.log(arr) // [ 1, 2 , 3, 4]
const arr1 = [ 1, 4 ]
const arr2 = [ 2, 3 ]
arr1.splice(1, 0, ...arr2 )
console.log(arr1) // [ 1, 2, 3, 4 ]
▶ 원본 배열을 복사할수 있다. (얕은 복사)
const origin = [ 1, 2 ]
const copy = [ ...origin ]
console.log(copy) // [ 1, 2 ]
▶ 객체 리터럴의 프로퍼티 목록에서 사용할수 있다.
const obj = { x:1, y:2 }
const copy = { ... obj }
console.log(copy) // { x:1, y:2 }
cosole.log( obj === copy ) // false
객체 병합
const merge = { x:1, y:2, ...{ a:3, b:4 } }
console.log(merge) // { x:1, y:2, a:3, b:4 }
예시2 : 프로퍼티 키가 중복되는 경우에는, 뒤에 있는 프로퍼티로 덮어씌워진다.
const merge = { x:1, y:2, ...{ y:10, z:3 } }
console.log(merge) // { x:1, y:10, z:3 }