ES6 学习(对象解构篇)

- 对象解构赋值

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

解构例子

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"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容