技术文摘
ES2021 至 ES2023 的 13 个实用 JavaScript 新功能
ES2021 至 ES2023 的 13 个实用 JavaScript 新功能
在 JavaScript 不断发展的进程中,从 ES2021 到 ES2023,引入了一系列实用的新功能,为开发者带来了更多的便利和效率提升。
首先是可选链操作符(?.),它可以在访问可能为 null 或 undefined 的对象属性时避免错误。例如,obj?.property ,如果 obj 为 null 或 undefined ,则不会抛出错误,而是返回 undefined 。
空值合并操作符(??)用于在变量为 null 或 undefined 时提供默认值。如 value?? defaultValue ,只有当 value 是 null 或 undefined 时,才会使用 defaultValue 。
数字分隔符(_)允许在数字中添加下划线以增强可读性,例如 1_000_000 。
String.prototype.replaceAll() 方法能够一次性替换所有匹配的字符串,而不仅仅是第一个。
ES2022 引入了 Promise.any() 方法,只要其中一个 Promise 成功,就会立即返回其结果。
私有字段 # 为类中的属性提供了真正的私有访问,增强了封装性。
Top-level await 使我们能够在模块的顶层使用 await ,而不仅仅在异步函数内部。
ES2023 中的 Array.prototype.toReversed() 和 Array.prototype.toSorted() 方法提供了更简洁的数组反转和排序方式。
Error Cause 特性允许在抛出错误时附带一个原因,方便更好地追踪和理解错误的源头。
新的正则表达式匹配索引功能,使获取匹配的起始和结束索引变得更加直观和方便。
类中的静态块可以用于执行静态初始化逻辑。
还有 at() 方法用于通过索引获取数组元素,支持负索引从数组末尾开始计数。
这些新功能不仅丰富了 JavaScript 的语法和能力,还使得代码更加简洁、易读和健壮。开发者们应积极学习和应用这些新特性,以提升开发效率和代码质量,创造出更优秀的应用程序。不断探索和掌握 JavaScript 的新发展,将为我们的开发工作带来更多的可能性和创新空间。