技术文摘
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 开发中创造出更优秀的应用和解决方案。
- 面试官:阐述对方法区演变过程与内部结构的理解
- 轻量级滑动验证码插件从零开发深度复盘
- 教你规范代码的手把手指南
- Clio lang 介绍:轻松实现性能关键型 JS 交付
- 受控与非受控表单:勿将不受控之物领回家
- 大前端快闪之二:React 开发模式 轻松启动多项服务
- Node.js 小魔术呈现给大家
- 面试官:谈谈对树的理解及相关操作
- 【Vue3 源码剖析:深入解读响应式原理】
- Pod 的 Liveness、Readiness 与 StartupProbe 如何使用
- 一文读懂【Go】初始化函数
- 终于明白 CSS 中宽高比的工作原理!
- Webpack 性能:借助 Cache 优化构建性能
- Netty 核心知识归纳(含部分源码剖析)
- 开发人员必知的七个微服务优秀实践