ES7
ES7在ES6的基础上增加了三项内容
求幂运算符 **
console
.log(3 ** 2 )
Array.prototype.includes()方法
includes()的作用是查找一个值在不在数组中,接受两个参数:搜索值和搜索的开始索引。如果没有传递参数默认的索引是
0
[1,2,3].indexOf(2) > -1
[1,2,3].includes(2)
两种方法都使用的是
=== 操作符作值比较,但是includes方法不同的是
:两个
NaN会被认为是相等的。不遵循严格模式的处理,但是indeOf会遵循严格模式的处理
ES8
async ,await异步解决方案
async和await本质上是Generator的语法糖,相比于Promise来说async和await更加简洁
function promise(){
var pro
= new Promise((resolve
)=>{....}).then(val
=>{...})
return pro
}
promise().then(()=>{....})
async function getData(){ let pro
= await promise() }
Object.entries():
将对象的可枚举属性与值按照二维数组的方式返回,目标对象是数组,则会将数组的下标作为键值返回
Object
.entries({a
:1,b
:2})
Object.values()
将对象中的值按照一维数组的方式返回
Object
.entries({a
:1,b
:2})
字符串填充padStart(),padEnd()
let str
= fanfan
str
.padStart(9,'6')
str
.padEnd(9,'6')
如果第一个参数的小于字符串的长度则不会填充
ES10
flat()
按照指定的深度遍历数组,将所有元素与便利到的子数组中的元素合并为一个新的数组返回。使用:
数组降维,去除数组的空项
let arr
= [1, 2, [3, 4]]
arr
.flat()
let arr
= [1, 2, [3, 4, [5, [6]]]]
arr
.flat(3)
flatMap()
首先使用映射函数映射没个元素,然后将结果压缩成一个新数组,
let arr
= [1, 2, 3, 4];
arr
.flatMap(x
=>[x
* 2])
发现一个写的比较全的_,引用一下谢谢博主上沅兮: https://juejin.im/post/5ca2e1935188254416288eb2