ES11 中的 nullish coalescing 操作符:优雅解决 “null 和 undefined” 的问题

阅读时长 4 分钟读完

在前端开发中,我们经常遇到处理 null 和 undefined 的情况,如何优雅地处理这些问题是我们需要思考和解决的。在 ES11 中,新增了 nullish coalescing 操作符,可以很好地应对这些问题。

什么是 nullish coalescing 操作符

nullish coalescing 操作符(??)是一个逻辑操作符,其目的是为了在给定的两个值中选择第一个非nullish(即不是 null 或 undefined)的值。如果第一个值是 null 或 undefined,则返回第二个值。

语法如下:

其中,a 和 b 是两个操作数。如果 a 不是 null 或 undefined,那么返回 a;否则返回 b。

nullish coalescing 和 || 操作符的区别

在 JavaScript 中,我们通常使用 || 操作符处理 null 和 undefined。但是,nullish coalescing 操作符与 || 操作符有所不同。

当 a 是 0、''、false 等 falsy 值时,|| 操作符也会返回第二个值,因为这些值会被视为 false。而 nullish coalescing 操作符只会在 a 的值为 null 或 undefined 时返回第二个值。

例如:

nullish coalescing 的使用场景

nullish coalescing 操作符可以用于许多场景。下面列举一些常见的应用。

1. 设置默认值

通常我们需要为变量设置默认值,如果该变量的值为 null 或 undefined,我们需要使用 nullish coalescing 操作符来设置默认值。

例如:

2. 防止引用 null 或 undefined

在处理嵌套的对象和数组时,我们可能需要避免引用 null 或 undefined。使用 nullish coalescing 操作符可以确保我们使用的值不是 null 或 undefined。

例如:

3. 函数参数默认值

我们可以使用 nullish coalescing 操作符为函数参数设置默认值。

例如:

总结

本文介绍了 nullish coalescing 操作符的概念,使用场景以及与 || 操作符的区别。nullish coalescing 操作符可以帮助我们优雅地解决处理 null 和 undefined 的问题,提高代码的可读性和可维护性。希望本文能够对前端开发者有所指导和帮助。

示例代码

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

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

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

纠错
反馈