美文网首页
ES6-对象的解构赋值

ES6-对象的解构赋值

作者: 东邪_黄药师 | 来源:发表于2018-10-31 16:59 被阅读0次

    构不仅可以用于数组,还可以用于对象
    对象的属性没有次序,但是变量必须与属性同名,才能取到正确的值。
    对象的解构赋值不用按照顺序:

    var { name, age, id } = { id: "007", name: "Conan", age: 28 };
    console.log(name);  //Conan
    console.log(age);   //28
    console.log(id);    //007
    

    量名与属性名不一致:

    var { name: person_name, age: person_age, id: person_id } = { id: "007", name: "Conan", age: 28 };
    console.log(person_name);   //Conan
    console.log(person_age);    //28
    console.log(person_id);     //007
    
    let object = { first: "Hello", last: "World" };
    let { first: firstName, last: lastName} = object;
    console.log(firstName); //Hello
    console.log(lastName);  //World
    

    指定默认值
    默认值生效的条件是,对象的属性值严格等于undefined。
    等于null则不生效。

    var { x = 3 } = {};
    console.log(x); //3
    
    var { x, y = 5 } = { x: 1 };
    console.log(x); //1
    console.log(y); //5
    
    var { message: msg = "You Are A Person!" } = {};
    console.log(msg);   //You Are A Person!
    
      var { x = 3 } = { x: undefined };
    console.log(x); //3
    
    var { y = 3 } = { y: null };
    console.log(y); //null
    

    现有对象的方法
    对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。

    var x;
    ({x} = { x: 1 });
    console.log(x); //1

    相关文章

      网友评论

          本文标题:ES6-对象的解构赋值

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