Web前端基础篇—ECMAscript2015(下)

01  对象解构

1.狭义对象解构*****

概述:通过狭义对象的属性,解构出狭义对象属性值。

注意:和书写先后顺序没有关系

 

Web前端基础篇—ECMAscript2015(下)

对象解构经常会用在函数传递参数的时候使用

对象解构用于函数传参:好处,让语义清晰

2.数组解构、数组剩余参数

Web前端基础篇—ECMAscript2015(下)

红色部分:数组解构 a =>1,b=>2,c=>3

蓝色部分:数组剩余参数【rest element】 e = >1,f=>2,g = [3,4,5,6,7,8,9]

蓝色部分:剩余参数三个点表示,而且只能放在最后的变量前面;

3.数组强制解构

概述:数组的强制解构,是将数组打成零散的项;可以解决一道经典面试题:

将类数组转换为数组

//数组强制解构

Web前端基础篇—ECMAscript2015(下)

4.狭义对象的强制解构******

概述:在ES6中可以将狭义对象进行强制解构;就是将某一个对象进行‘克隆’;//对象强制解构

Web前端基础篇—ECMAscript2015(下)

Web前端基础篇—ECMAscript2015(下)

 

上面写法是狭义对象强制解构,可以将某一个狭义对象进行‘克隆’

对于新的对象:克隆过来属性可以进行修改,没有属性可以进行添加

对于起始对象、克隆出来的对象是两个不同对象,相互没有任何影响。

 

02 数组迭代方法

概述:在ES6中有给数组添加一些方法;

forEach:遍历

filter:过滤

map:映射

reduce:  缩小、减少

1.forEach

概述:它ES6中给数组新增方法;主要的作用是可以快速遍历数组;

Web前端基础篇—ECMAscript2015(下)

红色部分回调函数执行次数:和数组元素个数

forEach遍历数组

forEach函数执行一次,但是没有返回值

2.filter********

Web前端基础篇—ECMAscript2015(下)

概述:它也是ES6中数组新增的方法;

主要的作用是可以从 某一个数组当中筛选出部分元素作为新的数组的元素;

Web前端基础篇—ECMAscript2015(下)

 

①回调执行次数和起始数组元素个数有关系

②从起始数组当中筛选出部分元素作为新的数组元素【符合条件元素会作为新的数组元素】

③filter方法执行一次,且有返回值,返回的是一个新的数组

Web前端基础篇—ECMAscript2015(下)

3.map********

概述:在ES6中数组新增的方法map;它主要的作用是可以 从起始数组 当中 映射出一个新的数组;

映射:八个人八个影子

Web前端基础篇—ECMAscript2015(下)

 

①回调函数执行次数和起始数组元素个数有关

②回调返回数值是作为新的数组元素

③新的数组的元素个数和起始数组一定是相同的

 

Web前端基础篇—ECMAscript2015(下)

总结:删F改M

4.reduce

 

Web前端基础篇—ECMAscript2015(下)

概述:reduce也是ES6中给数组新增的方法。

 

Web前端基础篇—ECMAscript2015(下)

 

a :默认的初始值 是 起始数组的零号元素,每一次回调返回结果作为下一次a数值

b:reduce遍历数组的时候,其实不是从索引值为0开始的,而是索引值为1的元素开始【B:当前遍历到元素】

result:是 最后一次 回调返回值;

 

Web前端基础篇—ECMAscript2015(下)

 

03  狭义对象变化

概述:在ES6中狭义对象也发生很大变化;

 

1.K-V一致可以省略V

Web前端基础篇—ECMAscript2015(下)

 

2.狭义对象可以动态添加属性

概述:可以动态修改对象属性值;

Web前端基础篇—ECMAscript2015(下)

 

3.方法变化*******

 

Web前端基础篇—ECMAscript2015(下)

 

4.Object新增方法values||keys||assign

 

keys||values获取某一个对象全K、全部V,返回的数组

assign:合并多个对象

 

Web前端基础篇—ECMAscript2015(下)

 

04 类变化

概述:在ES5中类即为构造函数;需要通过关键字new执行;

Web前端基础篇—ECMAscript2015(下)

Web前端基础篇—ECMAscript2015(下)