ES9 技巧:如何在 JavaScript 中使用 nullish 合并操作符?

阅读时长 4 分钟读完

在 JavaScript 中,我们经常需要判断一个值是否为 null 或 undefined,并根据不同情况来执行不同的操作。在 ES9 中,引入了 nullish 合并操作符(??),可以更方便地处理这种情况。本文将介绍 nullish 合并操作符的用法和示例,并给出一些指导意义。

nullish 合并操作符是什么?

nullish 合并操作符(??)是 ES9(ECMAScript 2019)中引入的一种新操作符,用于处理 null 或 undefined 的情况。它的作用类似于逻辑或操作符(||),但有一些重要的区别。

nullish 合并操作符只有在左侧的值为 null 或 undefined 时才会返回右侧的值。如果左侧的值不为 null 或 undefined,则返回左侧的值。而逻辑或操作符则会在左侧的值为 falsy 值时返回右侧的值。

下面是一个示例,展示了 nullish 合并操作符和逻辑或操作符的差异:

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

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

如何使用 nullish 合并操作符?

使用 nullish 合并操作符很简单,只需要在需要处理 null 或 undefined 的地方使用 ?? 运算符即可。下面是一个示例,展示了如何使用 nullish 合并操作符来设置默认值:

在上面的示例中,使用 nullish 合并操作符来设置默认值,如果 name 为 null 或 undefined,则输出 'Anonymous',否则输出 name。

示例:如何使用 nullish 合并操作符来处理 API 返回的数据?

在实际开发中,我们经常需要调用 API 来获取数据,然后根据返回的数据来执行不同的操作。在这种情况下,使用 nullish 合并操作符可以更方便地处理数据为空的情况。

下面是一个示例,展示了如何使用 nullish 合并操作符来处理 API 返回的数据:

在上面的示例中,使用 fetch API 来获取数据,然后使用 nullish 合并操作符来处理返回的数据。如果返回的数据中 result 为 null 或 undefined,则将 result 设置为一个空数组。

指导意义

nullish 合并操作符是一个非常实用的新特性,可以更方便地处理 null 或 undefined 的情况。在实际开发中,我们经常需要处理这种情况,使用 nullish 合并操作符可以减少代码量,提高代码的可读性和可维护性。

然而,需要注意的是,在使用 nullish 合并操作符时,需要清楚地知道它的行为和限制。nullish 合并操作符只有在左侧的值为 null 或 undefined 时才会返回右侧的值,如果左侧的值为 falsy 值,则不会返回右侧的值。因此,在使用 nullish 合并操作符时,需要注意判断左侧的值是否为 falsy 值。

另外,需要注意的是,在一些旧版本的浏览器中,可能不支持 nullish 合并操作符。因此,在实际开发中,需要根据项目的需求和浏览器的兼容性,来决定是否使用 nullish 合并操作符。

结论

本文介绍了 ES9 中的 nullish 合并操作符,包括它的用法、示例和指导意义。nullish 合并操作符是一个非常实用的新特性,可以更方便地处理 null 或 undefined 的情况,提高代码的可读性和可维护性。在实际开发中,需要注意 nullish 合并操作符的行为和限制,并根据项目的需求和浏览器的兼容性,来决定是否使用 nullish 合并操作符。

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

纠错
反馈