技术文摘
ES2019 里的 8 个实用功能
ES2019 里的 8 个实用功能
在 JavaScript 的发展历程中,ES2019 带来了一系列实用的新特性,为开发者提供了更多的便利和强大的功能。以下将详细介绍其中 8 个实用的功能。
1. 可选链操作符(Optional Chaining)
可选链操作符(?.)允许我们在访问可能为 null 或 undefined 的对象属性时,避免出现运行时错误。例如,obj?.property 如果 obj 为 null 或 undefined ,则不会抛出错误,而是返回 undefined 。
2. 空值合并操作符(Nullish Coalescing Operator)
空值合并操作符(??)用于在变量为 null 或 undefined 时提供默认值。与 || 不同, ?? 仅在值为 null 或 undefined 时才使用默认值。
3. 正则表达式改进
ES2019 增强了正则表达式的功能。 dotAll 模式 (/s 标志)使得点( . )可以匹配包括换行符在内的任何字符。
4. Array.prototype.flat() 和 Array.prototype.flatMap()
flat() 方法用于将嵌套数组扁平化,而 flatMap() 则是先执行映射操作,然后再进行扁平化。
5. String.prototype.trimStart() 和 String.prototype.trimEnd()
除了 trim() 方法,新增的 trimStart() 和 trimEnd() 分别用于去除字符串开头和结尾的空格。
6. Object.fromEntries()
此方法将键值对列表转换为对象,与 Object.entries() 相对应。
7. 稳定的 Array.prototype.sort()
现在, Array.prototype.sort() 对于相同元素的排序结果是稳定的,这在某些情况下对于保持元素的原始顺序非常重要。
8. Promise.prototype.finally()
finally() 方法允许我们在 Promise 链的末尾添加无论成功或失败都会执行的回调函数。
ES2019 的这些新特性使得 JavaScript 编程更加简洁、高效和安全。开发者们应积极采用这些特性,以提升代码的质量和可维护性。不断探索和应用新的语言特性,将有助于我们在 JavaScript 开发中创造出更优秀的应用和解决方案。