ES6-数组的扩展/函数的扩展
2017-06-22 本文已影响0人
井皮皮
1.Array.from() :用于将类似数组的对象和可遍历的对象转化为真正的数组。
eg:arguments对象,字符串
2.Array.of() :用于将一组值,转化为数组,是为了弥补构造函数Array()的不足
eg:
1.Array.of(3,11,8)// [3,11,8]
Array.of(3)// [3]
Array.of(3).length// 1
2. Array()// []
Array(3)// [, , ,]
Array(3,11,8)// [3, 11, 8]
Array.of基本上可以用来替代Array()或new Array(),并且不存在由于参数不同而导致的重载。因为它的行为非常统一。
3.copyWithin() : 将数组总指定位置的成员复制到其他位置(但会覆盖原有的成员),然后范湖当前数组
语法:.copyWithin(target,start = 0,end = this.length)
target:(必需)从该位置开始替换数据
start:(可选)从该位置开始读取数据,默认为0.如果为负值,表示倒数
end:(可选)到该位置前停止读取数据,默认等于数组长度,如果为负值,表示倒数
4.数组实例的entries(),keys(), values() ------都用于遍历
entries()是对键值对的遍历,
keys()是对键名的遍历,
values()是对键值的遍历
5.箭头函数
基本语法:() => {}
6.箭头函数中的this指向问题
a.函数体内的他hi是对象,就是定义时所在的对象,而不是使用时的对象。
b.不能当做构造函数,因为箭头函数内部有绑定this的机制,实际原因是箭头函数根本就没有自己的this,导致内部的this就是外层代码快的this,正是因为如此,所以不猛当做构造函数
c.不能使用arguments对象,因为改对象在函数体中不存在