es6结构 {}和[]有啥区别
const { a, b } = res
const [a, b] = res简单说对象解构使用{},数组解构使用[]
如果你使用[]来解构对象需要实现 iterable
let obj = {a: '我是a', b: '我是b'}
let [a, b] = obj; // 报错没有实现iterable实现 iterable
let obj = {
a: '我是a',
b: '我是b',
[Symbol.iterator]() {
let index = 0;
let that = this;
return {
next() {
if(index < Object.keys(that).length) {
return {value: that[Object.keys(that)[index++]], done: false}
} else {
return {value: undefined, done: true}
}
}
}
}
}
let [a, b] = obj;
console.log(a); // '我是a'
11 回答1.3k 阅读
3 回答967 阅读✓ 已解决
2 回答963 阅读✓ 已解决
3 回答957 阅读✓ 已解决
2 回答649 阅读
3 回答976 阅读
3 回答973 阅读
对象解构,以key键名
数组解构,以下标顺序
其他剩余 ,“...”需要在最后一个