es6结构 {}和[]有啥区别
es6结构 {}和[]有啥区别
const { a, b } = res const [a, b] = res
回答:
对象解构,以key键名
let { a, b } = {a:'555',b:'666'}console.log(a);// 555
console.log(b);// 666
数组解构,以下标顺序
let [d, c] = [888,999];console.log(d);//888
console.log(c);//999
其他剩余 ,“...”需要在最后一个
let [, e,...f] = [888,999,000,1111];
console.log(e);//999
console.log(f);//[0, 1111]
回答:
一个是解构对象 一个是解构数组啊 let {a, b} = [1, 2],a,b肯定取不到值啊
回答:
简单说对象解构使用{},数组解构使用[]
- 对象解构是根据key来解构的
- 数组解构是根据下标来的
如果你使用[]来解构对象需要实现 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'
以上是 es6结构 {}和[]有啥区别 的全部内容, 来源链接: utcz.com/p/936633.html