,相当于将目标对象自身的所有可遍历的(enumerable)、但尚未被读取的属性,分配到指定的对象上面。...let {x,y,...z}={x:1,y:2,a:3,b:4}
console.log(x,y,z)
//解析结果1 2 { a: 3, b: 4 }
果等号右边是undefined或null,就会报错...,因为它们无法转为对象。...let {...z}= null
console.log(z)
//TypeError: Cannot destructure 'undefined' or 'null'....([2,3], [5]); // [5,3]
会将数组处理成对象,所以先将 [2,3] 转为 {0:2,1:3} ,然后再进行属性复制,所以源对象的 0 号属性覆盖了目标对象的 0。