const arr =[1,2,3,4,5,6,7] const [a,b,...c] = arr console.log(a,b,c)
const a = [1,2,3],b = [4,5,6] const c = [...a,...b] console.log(c)
const [...arr] = ‘string‘
const [...div] = document.getElementsByTagName(‘div‘)
const obj = { *[Symbol.iterator](){ yield 1 yield 2 yield 3 yield 4 yield 8 } } console.log([...obj])
let {name,age,...other} = {name:‘zhangsan‘,age:18,job:‘前端开发‘,province:‘深圳‘}
console.log(name,age,other)
const obj = {a:1,b:2} const o = {a:8,c:13,...obj} const obj1 = {a:12,b:23} const obj = {c:89,d:99} const newobj = {...obj1,...obj2}
const isTrue = true const obj = {...(isTrue? obj1:obj2),c:33}
console.log({...[1,2,3]})
console.log({...‘string‘})
function demo(a,b,...params){ console.log(params) } demo(1,2,3,4,5,6)
function demo(...args){ console.log(args) } const arr = [2,3,4,5] demo.apply(null,arr) demo(...arr)
不能解构 null 和undefined
结构是浅复制
... 无法解构原型属性,属性解构是可以的
原文:https://www.cnblogs.com/LunuZ/p/15104733.html