扩展运算符(...)与rest 参数的区别
rest 参数形式:...参数名;扩展运算符是三个点(...)
rest 获取函数多余的参数,在箭头函数替代argument的使用,rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。
扩展运算符(spread)是三个点(...),它与rest 是逆运算,将一个数组转为用都号分隔的参数序列。
扩展运算符替代 apply 、call、bind
应用:
Array.from() 用于将两类对象转为真正的数组:类似数组的对象(array-like object) 和可遍历(iterable)的对象
注:类数组对象(Array-like)(JavaScript 类型化数组是一种类似数组的对象,并提供了一种用于访问二进制数据的机制。)
slice() 方法返回一个新的数组对象,浅拷贝原始数组不会被改变。可以用来讲一个类数组对象/集合转换成一个新的数组。
Array.prototype.slice.call(arguments)
[].slice.call(arguments)
Function.prototype.call.bind(Array.prototype.slice)
Array.of() 方法用于将一组值,转换为数组。
copyWithin() 指定位置的成员复制到其他位置(会覆原有的成员),然后返回当前数组
find() 和findIndex()
数组实例的fill() 方便使用给定的值,填充一个数组
['a','b','c'].fill(7) //[7,7,7]
数组实例的entries()、keys()、values()
数组实例的includes() 以前是indexOf()
flat() 是“拉平”数组,变成一维数组,flatMap 只能“拉平”一层