Ecmascript2017(es8 )功能
ECMAScript 2017或ES8和2017年6月底由TC39正式发布,您可以在此浏览完整的版本; 另一方面,ES8的代表性特征包括字符串填充、遍历对象值、获取对象的属性描述符、函数参数列表和调用中的尾部逗号、异步函数、共享存储器和原子操作等。
字符串填充
ES8添加了内置的字符串填充函数“padStart”和“padEnd”。 此函数通过填充字符串的开头或结尾,确保字符串具有一定的长度。 开发者可以指定要输入的字符串,也可以使用默认空格。 函数声明如下:
如str.padstart(targetlength (,padString] ) )上所示,函数的第一个参数是目标长度,即最终生成的字符串的长度。 第二个参数是指定的填充字符串。
' es8'.padstart(2; //'es8 '对象值的遍历
Object.values函数返回指定对象的可枚举属性值的数组。 数组中值的顺序与for-in循环匹配,函数声明如下:
object.values(obj )的第一个参数obj是需要遍历的目标对象,可以是对象或数组。 数组可以将键视为下标。
const obj={ x: 'xxx ',y: 1 }; Object.entries方法以二维数组的形式返回对象的可枚举属性和值。 数组中的顺序与Object.values一致,函数的声明和使用如下:
const obj={ x: 'xxx ',y: 1 }; 的属性描述符的获取
getOwnPropertyDescriptors函数返回指定对象的指定属性的描述符。 此属性必须由对象本身定义,而不是从原型链继承。 函数声明如下:
object.getownpropertydescriptor (obj,prop ) obj是源对象,而prop是要显示的属性名称。 结果中包含的键有配置、启用、可写、获取、设置和值。
常量对象={获取S8 (} {返回888 }; }; 函数的自变量列表和调用中的尾部逗号
使用该属性,可以在定义或调用函数时添加末尾的逗号,而不报告错误。
函数ES8(var 1、var2、var3、) {异步函数}
在ES8中,可以使用async/await语法定义和执行异步函数。 async关键字返回一个async函数对象。 在内部实现中,异步函数类似于迭代器的实现原理,但不转换为迭代器函数。
功能fetchtextbypromise (
在共享内存中,多个线程可以同时读取和写入数据,而在原子操作中,可以同时控制多个具有冲突关系的线程,以便它们按顺序执行。 本部分介绍命名空间对象原子,包括新的构造函数SharedArrayBuffer和静态方法。 原子对象类似于Math。 不能直接创建实例,只能使用提供的静态方法。
add /sub -增加或减少某个位置的值
进行and/or /xor -位操作
load -获取值