美文网首页
解构赋值-《understanding ECMAScipt6》读

解构赋值-《understanding ECMAScipt6》读

作者: aliyu | 来源:发表于2017-04-26 16:57 被阅读20次

对象解构赋值

let node = {
    type: "string",
    name: "foo"
};
let {type, name} = node;


需要注意的点:

  • 当等式右边是null或者undefined会报错
  • 如果等式左边有的值在等式右边找不到,则该值为undefined
  • 可以给左边设定默认值,且默认值只有当预期值===undefined才能够生效
  • 可以不使用默认名称,例let {type:newType, name: newName} = node
  • 上面两个可以组合使用
  • 可以使用嵌套子对象的结构赋值
    let node = {
    name: "foo",
    othenInfo: {
        height: 188
        }
    };
    let {otherInfo:{height}, name} = node;
    
  • 解构的值只会赋值到key/value中的value

数组解构赋值

  • 可以交换对象,例:let [a,b] = [b, a]
  • 可以设定默认值
  • 可以解构嵌套数组
  • 可以使用rest写法,同函数中提到的一样,rest写法只能放在数组的最后一项

混合解构

可以将数组和对象混合体放在一起解构,然而并没有什么好说的。

常用方法

在函数设定默认参数时,例如


setCookie(name, value, {secure, path, domain, expires} = {}){
    //dosomething
}

//给后面参数解构赋值为空对象时,就算传参进来的是undefined也不会报错

相关文章

网友评论

      本文标题:解构赋值-《understanding ECMAScipt6》读

      本文链接:https://www.haomeiwen.com/subject/vycizttx.html