1.展开数组
let arr1 = [1,2,3]
let arr2 = [4,5,6]
console.log(...arr1) //1 2 3
//合并数组:
let arr3 = [...arr1,arr2]
console.log(arr3) //[1,2,3,4,5,6]
2.不能直接展开对象,需在花括号包裹下
let obj ={
name:'张三',
age:'14'
}
console.log(...obj) //报错 展开运算符.html:21 Uncaught TypeError: Found non-callable @@iterator at 展开运算符.html:21
//正确写法
console.log({...obj}) //{name: "张三", age: "14"}
注:在react中,可以作为标签属性展开对象,因为有babel和react转化
例如:<Person {...obj} /> //此花括号和原生js花括号不同
3.可以复制对象,并修改复制后的属性
let obj1 = {name:'张三',age:'18'}
let obj2 = {...obj1,name:'李四'}
console.log(obj2) //{name:'李四',age:'18'}
let obj3 = {...obj1,name:'王五',sex:'女'}
console.log(obj3) //{name: "王五", age: "18", sex: "女"}