es6结构 {}和[]有啥区别

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

回到顶部