Es6对象操作,解构赋值
首先我们先来看官方定义:解构 赋值:允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构 赋值。
接下来咱们从实际出发,首先看看数组的解构赋值:
var arr=["aa","bb","cc"];
原始的方法取得数组中的每一项的值需要我们这么做:
var a= arr[0];
var b= arr[1];
var c= arr[2];
通过下标来获取到当前元素的值。现在用Es6的新语法:
var [a,b,c]=["aa","bb","cc"];
每个变量以此对应,a–aa,b–bb,c–cc
如果只想取a,c的值则是则是这么写:
var [a,,c]=["aa","bb","cc"];
只需要跳开就可以,在原来b变量的位置什么也不写,逗号隔开就可以。如果此时多了一个新变量d,打印出d会发现是一个undefined,如果不想让它显示undefined,我们可以给它一个默认值,如下:
var [a,b,c,d=0]=arr;
这样打印出的d就是0,而不是undefined。
看完数组的解构赋值,接下来看我们今日的重点,对象的解构赋值:首先是一个对象,既然是对象就需要花括号包裹:
var obj={"sex":"男","age":18};
取对象中某一属性的值的时候,原来我们的写法是:
var sex= obj.sex;
var age= obj.age;
而在Es6中,只要属性名与属性值一致,则可以简写:
var {age,sex} =obj;
同样此时有一个新的属性,但是没有属性值,我们可以赋予一个默认的属性值
var {name="zhang",age,sex} ={"sex":"男","age":18};
到此Es6的解构赋值基本完事!