ES11 全面推广 Optional Chaining、空值合并运算符,简化 JS 代码

阅读时长 3 分钟读完

JavaScript 是一门灵活的语言,但由于其动态特性,处理 null 或 undefined 的代码往往让开发者头痛。为了解决这个问题,JavaScript 提供了 Optional Chaining 和空值合并运算符,它们可以简化代码,提高开发效率。

什么是 Optional Chaining?

Optional Chaining 也就是可选链,它是一种新的语法特性,可以帮助处理 JavaScript 中的空值。当我们需要多次访问对象的属性或方法时,我们可以使用 ?. 操作符而不必明确验证每个中间变量是否为 null 或 undefined。

就像这样:

在这个例子中,我们想要获取 user 对象内的地址城市信息,但是由于地址信息为空,我们不能直接获取。通过可选链的方式,改写如下:

这样就可以避免出现 TypeError 错误了。Optional Chaining 的实现原理是判断变量是否为 null 或 undefined,如果是就直接返回 undefined。

什么是空值合并运算符?

空值合并运算符也是一种新的语法特性,它可以让我们更方便地处理空值。在 JavaScript 中,有时候我们需要处理空值,但是这个过程会变得很繁琐。

比如要处理一个变量,但是不确定它是否为 undefined 或是 null:

这样的代码看起来很冗长。而通过空值合并运算符,可以将这个逻辑简化:

这样,如果 inputName 的值为 null 或 undefined,那么 name 的值就会是 “暂无姓名”,否则就是 inputName 的值。

如何使用 Optional Chaining 和空值合并运算符?

下面是一些使用示例:

-- -------------------- ---- -------
----- ---- - -
    ----- --------
    -------- ----
--

------------------------------- -- -------------

----- -------- - -
    ----- -----
--

--------------------------- -- -------------

在这个例子中,我们尝试访问用户的城市信息和电话信息。如果节点不存在就直接返回 'undefined',如果节点存在但没有信息就返回默认值。

总结

Optional Chaining 和空值合并运算符是 JavaScript 中很实用的新特性。它们可以帮助我们更优雅地处理 JavaScript 中的空值,提高代码的可读性和易用性。在 ES11 中获得全面推广,建议开发者尽早使用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64b0ac5f48841e9894cc1eb4

纠错
反馈