es6-es7-es10

es7
1.Array.prototype.includes(value, formIndex) 该方法确定确定某一个值是否存在于当前数组中
value: 需要查找的值
formIndex: 从指定位置开始查找
2.指数运算简写 **
2 ** 10 = Math.pow(2, 10)
es8
1.async/await
async 这个关键字可以将一个 function 声明成为一个异步方法,返回值是一个 Promise
await 这个关键字和 async 一起使用的时候就体现出了优势。该关键字只能在 异步函数 中才会起作用
function promiseFn() {
return new Promise(resolve => {
setTimeout(() => {
resolve("result");
}, 1500);
});
}
async function fn() {
let res = await promiseFn();
console.log("异步代码执行完毕", res);
}
fn(); // wait 1.5s 后,打印 异步代码执行完毕, result
注:多个异步方法需要同时执行,可以使用 await Promise.all[promise1,promise2]
2.Object.values() 和 Object.entries()
Object.values() 方法返回一个给定对象自身所有的 key,其中是不包含继承来的 key
Object.entries() 方法返回一个数组,包含当前Object中自身所有键值对,同样不包含继承来的值
注: 在使用这两个属性时,会发生一个隐式的类型转化,将我们传入的值转为 Object 后,再执行方法
3,Object.getOwnPropertyDescriptors() 该函数函数用来获取一个对象的所有自身属性的描述符,如果没有任何自身属性,则返回空对象。
4,SharedArrayBuffer 与 Atomics
es2019
1,Array.prototype.flat() Array.prototype.flat()
递归地将嵌套数组拼合到指定深度。默认值为 1,如果要全深度则使用 Infinity 。此方法不会修改原始数组,但会创建一个新数组:
flat() 方法会移除数组中的空项:
2,Array.prototype.flatMap()
flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 Array.prototype.map 和 深度值为 1的 Array.prototype.flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。
3,String.prototype.trimStart() 和 String.prototype.trimEnd()
除了能从字符串两端删除空白字符的 String.prototype.trim() 之外,现在还有单独的方法,只能从每一端删除空格:
4,Object.fromEntries
它与已有 Object.entries() 正好相反,Object.entries()方法在将对象转换为数组时使用,它返回一个给定对象自身可枚举属性的键值对数组。
使用场景;将所有对象属性的值平方
引自链接:https://www.jianshu.com/p/fb1e64177985 https://blog.tildeloop.com/posts/javascript-what’s-new-in-es2019

原文地址:https://www.cnblogs.com/zgdongyywei/p/13961631.html