一、展开运算符
把对象或者数组展开
例子
let arr = [1,2,3,4]
let arr2 = ["a","b",...arr,"c","d"]
console.log(arr2)
最后结果:['a', 'b', 1, 2, 3, 4, 'c', 'd']
let arr = [1,2,3,4]
let arr2 = ["a","b",...arr,"c","d"]
// console.log(arr2)
let [a,b,...c] = arr
console.log(a,b,c)
复制对象
a={e:1,f:2,c:3}
var b = a
b.e = 2
console.log(a.e)
//因为复制给b的是a的地址,此时a.e也会变成2
//用解构赋值的方式可以避免这个问题
b = {...a}
二,Set
构造函数,用来构建对象--对象的实例化
Set接收数组作为参数,把数组去重保存
let arr = [1,2,3,4,5]
let s = new Set(arr);
console.log(s.size)//size数值的个数
console.log(s.clear())//清空所有项
console.log(s.delete("b"))//删除某一项,true或者false,是否删除成功
s.has("b") //是否包含这个值,返回true/false
s.add(6) //添加某一项,返回值Set对象本身,可以链式操作 s.add(6).add(7)
三, Map
let arr = [
["a",1],
["b",2],
["c",3]
]
let m = new Map(arr)
console.log(m)
//结果 {'a' => 1, 'b' => 2, 'c' => 3}
clear() //清空所有值
delete(key) 删除某一项
get(key) 获取某一项值 key:数据的key值,返回值是对应的value
has()
add()
set(key,value) //可链式操作
总结
本文讲了展开运算符,使用展开运算符可以复制对象的内容,而不是地址