比如在一个对象里取各个属性的值
const obj = {
a:1,
b:2,
c:3,
d:4,
e:5,
}
你可能会这样取值:
const a = obj.a;
const b = obj.b;
const c = obj.c;
const d = obj.d;
const e = obj.e;
或者这样赋值:
const f = obj.a + obj.d;
const g = obj.c + obj.e;
但是用ES6的解构赋值来取值的话,一行代码就可以搞定:
const {a,b,c,d,e} = obj;
const f = a + d;
const g = c + e;
但是如果遇到服务端返回的数据对象中的属性名不是我想要的怎么办?
const {a:a1} = obj;
console.log(a1);// 1
需要注意的是,虽然解构赋值比较好用,但是要注意解构的对象不能为undefined或者null,否则会报错,所以要给被解构的对象一个默认值
const {a,b,c,d,e} = obj || {};
网友评论