美文网首页
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