【个人向小结】ES8(ECMAScript2017)
2018-05-21 本文已影响10人
李年糕子
前言
算是来自很多篇文章的汇合吧?
仅供个人学习用,没有任何其他意思,所以请不要二次转载。
函数参数允许尾后逗号
JSON中不允许尾后逗号,JSON.stringify()会自动去掉对象的尾后逗号。
字符串填充padXXX()
String.prototype.padStart( maxLength [ , fillString ] )
String.prototype.padEnd( maxLength [ , fillString ] )
第一个参数:目标长度;
第二个参数:填充字符串,默认为空格。
Object的values()、entries()
对原有的 Object.keys() 方法的补充
const fruits = {
apple: 2,
orange: 10
}
Object.keys(fruits) // [ 'apple', 'orange' ]
Object.values(fruits) // [ 2, 10 ]
Object.entries(fruits) // [ [ 'apple', 2 ], [ 'orange', 10 ] ]
getOwnPropertyDescriptors
获取对象的属性描述符,该属性必须是对象自己定义而不是继承自原型链。结果中包含的键可能有 configurable、enumerable、writable、get、set 以及 value。
async/await
- async是用来声明一个异步函数,并且它默认返回一个Promise对象;
- await操作符必须在async中使用;
- await操作符后面一定是Promise对象,如果是普通对象,它会默认用Promise.resolve()包裹。
SharedArrayBuffer、Atomics
SharedArrayBuffer 和 Atomics 是 JavaScript 为多线程能力增加的特性