JS 最新进展:ES9 已发布,新特性概览
JavaScript(以下简称 JS)是一种广泛使用的动态类型脚本语言,已经成为了 Web 开发中不可或缺的一部分。随着 Web 技术的快速发展,JS 已经经历了十几年的演化,从 ES1 到现在的 ES9,不断地推陈出新。在 2018 年 6 月,《ECMAScript 2018 Language Specification》正式发布,现在我们已经可以详细了解 ES9 中新增的特性。接下来,让我们一起来了解一下 ES9 的新特性吧。
- Promise.prototype.finally()
Promise.prototype.finally() 可以在 Promise 结束时,无论是 resolve 还是 reject,都会执行一段代码。使用这个方法,可以避免代码中多处相同的结束处理逻辑,使得代码更加简洁。
使用 .finally() 示例代码:
-- -------------------- ---- ------- -------- ----------- - ------ --- ----------------- ------- -- - ------------- -- - ---------- -- ------ --- - ----------- -------- -- - ----------------- ----------- -- --------- -- - ------------------ ------------ -- ----------- -- - ------------------ ------------ ---
- Object.fromEntries()
Object.fromEntries() 可以将一个由键值对数组转换成对象,常常用于将 URLSearchParams 对象转化为对象。
使用 Object.fromEntries() 示例代码:
-- -------------------- ---- ------- ----- ------- - --- ----- -------- ------- ------- ---- ---------- ------- --- ----- --- - ---------------------------- ----------------- -- ------ ------ ---- --- ------- -------
- Rest/Spread 属性
Rest/Spread 属性是摆脱两种语法的混淆的写法,旧的 Rest 是一个参数数组,而 Spread 表示将一个数组展开为独立的参数。在 ES9 中,可以把这两个特性结合起来使用。
使用 Rest/Spread 属性示例代码:
-- -------------------- ---- ------- ----- ---- - --- -- -- --- ----- ---- - --- -- -- --- ----- ---- - - -------- ------- -- ------------------ -- --- -- -- -- -- -- -- --
- RegExp 的 Named Groups(命名分组)
把捕获分组重命名为字符串
使用 RegExp 的 Named Groups 示例代码:
const str = "2018-12-30"; const regex = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/; const matches = regex.exec(str); console.log(matches.groups.year); // 2018 console.log(matches.groups.month); // 12 console.log(matches.groups.day); // 30
总结
ES9 中提出的这些新特性,都让开发者在开发中变得更加舒适和高效。无论是 Promise.prototype.finally() 的代码精简,还是 Object.fromEntries()、Rest/Spread 属性等各个新特性,都在不同的方面提升了 JavaScript 的能力。
如果想进一步深入学习 ES9 中的新特性,不妨多多参考官方文档,并在编写代码时多加练习,尝试对新特性进行深刻理解。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/649fc12648841e9894c1bfad