翻译 | 黑色巧克力
Ecma 8或Ecma 2017将于6月底由TC39正式发布。我们在去年似乎讨论了很多关于Ecma的事情,那不是毫无价值的。目前的标准是每年发布一个新的ES规范版本。ES6发布于2015年,atv,ES7发布于2016年,但有人记得ES5发布的时间吗?那还是在2009年,在Java的神奇崛起之前。 因此,Ecma作为一种稳定的语言跟随Java的发展而变化,现在我们需要将ES8输入到词典中。 说明书网页(https://www.ecma-international.org/ecma-262/8.0/index.html)或PDF(https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf)版本。在本文中,我们将通过代码示例介绍ES8的主要新特性。 字符串填充 本节向字符串对象添加两个函数:padStart和padEnd。 正如它们的名称一样,这些函数的目的是填充字符串的开始或结束,以便产生的字符串达到给定的长度。可以使用特定的字符或字符串来填充它,或者默认设置空格。下面是方法声明: 这些函数的第一个参数是targetLength,这是结果字符串的总长度。第二个参数是用于填充源字符串的可选的padString。默认值是空格。
Object.values和Object.entries Object.values方法返回给定对象自己的可枚举属性值的数组,开奖,与for in循环所提供的顺序相同。这个函数的声明是非常简单的。 obj参数是操作的源对象。它可以是一个对象或数组(一个具有索引的对象,如[10、20、30]- > { 0:10,1:20,2:30 })。
Object.entries方法返回一个给定对象的可枚举属性[key, value]键值对的数组,与object.values的顺序相同。这个函数的声明也很简单。
Object.getOwnPropertyDeors getOwnPropertyDeors方法返回所有的属性描述符指定的对象。一个对象的属性描述符是直接在对象上定义的,并不是从对象的原型继承的。该函数的声明如下。 obj是源对象。返回的描述符对象的可能键是可配置的、可枚举的、可写的、可获取和设置值。
描述符数据对于像装饰器这样的高级特性非常重要。
在函数参数列表和调用中允许尾部逗号 在函数参数中允许尾部逗号是编译器在列表末尾添加不必要的逗号时不抛出错误(语法错误)的能力: 作为函数声明,可以应用于函数的调用如下。 这个特性起源于对象常量和数组常量(10、20、30、)和{ x:1、}的逗号结尾。 异步函数 async function声明定义了一个异步函数,它返回一个AsyncFunction对象。在内部,异步函数与生成器很相似,但是它们没有被转换为生成器函数。
调用sayHello方法,2秒后将会打印Hello,es8。 现在输出是这样的: 这是因为函数调用不会阻塞流。 注意,async function总是返回一个应答,而一个wait关键字只能在用async关键字标记的函数中使用。
共享内存和原子 (责任编辑:本港台直播) |