针对可迭代对象展开
可以理解为伪数组(nodeList,arguments)
const number=[1,23,4,55,19,96]
const newNumber=[123,...number,...number,666]
console.log(newNumber)
VM398:3 [123, 1, 23, 4, 55, 19, 96, 1, 23, 4, 55, 19, 96, 666]
针对普通对象展开
- 将对象进行展开
const obj1={
a:1,
b:2
}
const obj2={
b:3,
c:4
}
const newObj={
...obj1,
...obj2
}
console.log(newObj)
VM918:16 {a: 1, b: 3, c: 4}
- 将数组进行展开
const number=[1,23,4,55,19,96]
const obj={
...number
}
console.log(obj)
VM1190:5 {0: 1, 1: 23, 2: 4, 3: 55, 4: 19, 5: 96}
剩余参数和展开运算符不是一个意思,剩余运算符是对数据收集使用,而展开运算符是将数据展开拿出使用