来源:[啊?这一行代码这么多知识点!!!【渡一教育】](https://www.bilibili.com/video/BV1G14y1y7is?vd_source=abff2190dd215e2033f2ec57123dd1d6)

对对象进行数组解构肯定是行不通的

但如果要求必须使它能够运行,且不能改变那一行代码,那究竟该加什么呢

答案是迭代器,只需要让等式右边的对象可迭代就行

1
2
3
4
5
6
7
Object.prototype[Symbol.iterator] = function () {
// 返回调用者values的迭代器
return Object.values(this)[Symbol.iterator]()
}

let [a, b] = { a: 1, b: 2 }
console.log(a, b) // -> 1 2