ES6 学习(对象解构篇)

2016-08-05  本文已影响0人  淡淡的真

- 对象解构赋值

** 对象的取值是由属性取值
对象的值也可以设置默认值(见数组结构篇) **

解构例子

let { a,  b } = { a = "aaa", b = "bbb"};
a  //  "aaa"
b  //  "bbb"

如果变量名与属性名不一致没关系,可以用下面的方法

let {  a: b } = { a: "aaa" };
a  //  a is not defined
b  // "aaa"

模式不会被赋值

let obj = {
  person: {
    name : "Roy"
  }
}
let { person: { name }} = obj;
person  //  undefined
name  //  "Roy"

默认值生效条件是对象的属性值严格等于 undefined

let { a = 1 } = { a: undefined };
a  //  1
let { a = 1 } = { a: null };
a  // null

已声明变量的解构赋值必须非常小心

let a = "aaa";
{a} = { a: "bbb" };  //  error
正确写法:
({a} = { a: "bbb" });
a  //  "bbb"
上一篇下一篇

猜你喜欢

热点阅读