在前端开发中,JavaScript 是一门不可或缺的语言。它的发展速度非常快,每一年都会有新的规范版本发布。2019 年,ECMAScript 2019(简称 ES10)发布了,来看一下其中的一些新特性。
Array 转换方法
ES7 添加了 include()方法,判断一个数组中是否包含一个元素。ES2020 又添加了一些转换方法。
Array.flat()
现在数组可以嵌套其他数组,而且可以是多维数组。当我们需要将多维数组展开为一维数组时,以前需要使用递归或者 lodash 库里的库函数。现在,数组有一个 flat() 方法。flat() 方法可以将嵌套数组展开成一维数组。
----- --- - --- --- --- ------- ----- --------- - ------------------- ----------------------- -- --- -- -- --
Array.flatMap()
如果希望对数组中的元素进行操作,并且返回一个展平数组,则需要使用 map() 和 flat()。
Array.flatMap() 将这两个步骤合并到同一个方法中,这将大大减少代码的编写量。
----- --- - --------- -------- ------ ---------------------------- -- ----------------- -- ----- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
String 新增方法
ES10 中 String 新添加了两种辅助方法,trimStart() 和 trimEnd()。
trimStart()
String.prototypr.trimStart() 方法是 trim() 方法的左侧完整版。
----- ---- - - ---- --------- ------------------------------ -- ----- --------
trimEnd()
trimEnd() 方法是 trim() 方法的右侧完整版。
----- ---- - ----- ------- -- ---------------------------- -- ----- --------
空值合并运算符
当我们需要处理变量为空值的情况时,通常需要使用类似 || 这样的运算符,或者使用三元运算符。
ES10 新增了 ?? 运算符,它会检查变量是否为 null 或者 undefined,如果是,则会返回默认值。
----- ---- - ---------- ---------------- -- -------- ------- -- -------- -----
增强的对象属性
Object.fromEntries()
这个方法接受一个键值对数组,返回一个对象。
----- --- - --------- -------- ------- ----- ------------------------------------- -- - ----- ------- ---- -- -
Object.getOwnPropertyDescriptors()
这个方法返回对象的所有属性的描述符。
----- --- - - ----- ------- ---- -- -- --------------------------------------------------- -- - ----- ------- ------- --------- ----- ----------- ----- ------------- ------ ---- ------- --- --------- ----- ----------- ----- ------------- ----- - --
扩展操作符
对于扩展操作符,我们现在可以在对象中使用它。这表示你可以使用 spread 运算符展开对象。
----- ---- - ------ -------- ----- ---- - --------- ---- ---- ------------------ -- ------ ------- ---- ---
总结
ES10 带来的特性有很多,它更易于操作数据,也能减少很多冗余的代码。这篇文章列举了一些比较有用的特性,可以尝试在项目中应用一下,它们会为你提升效率,提高代码的质量。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64537ab1968c7c53b07d9fa2