1.概念
展开运算符 是将一个数据结构展开,将其内部的元素通过某种形式罗列出来,也叫扩展运算符
# 数据结构必须满足的条件具有Iterator接口数据结构,才能使用扩展运算符
常见的有 array String map Set 等
2.具体的使用
# 使用场景1 数组创建,数组合并
let arr = ['a','b','c']
let arr1 = [...arr,]
let arr2 = [...arr,...arr1]
console.log(arr1,'arr1')
console.log(arr2,'arr2')
# 使用场景2 调用函数的时候
function test(a,b,c) {
console.log(a,b,c)
}
let arr = ['我是a','我是b','我是c']
test(...arr)
# 使用场景3 对象创建时,通过new 实例化的不适用
let obj = {
a:'我是a',
b:'我是b'
}
let newObj = {
...obj,
c:'我是c'
}
console.log(newObj,'newObj')
值得注意的是,这里的newObj 不算严格意义上的深拷贝,如果obj内有多层对象或数组的话,就不是深拷贝了