ES11 的 Nullish 合并运算符让你的代码更简洁

阅读时长 3 分钟读完

在前端开发中,我们经常遇到需要处理各种变量类型的情况。其中,null 和 undefined 是两个经常出现的特殊值,它们在判断条件时容易引起一些问题。为了解决这个问题,ES11 发布了一个新的运算符:Nullish 合并运算符,它可以让你的代码更简洁、更优雅。

Nullish 合并运算符

Nullish 合并运算符是双问号运算符(??),它主要用于处理 null 或 undefined 值的情况。它的语法如下:

上述语法中,如果 a 的值为 null 或 undefined,则返回变量 b 的值,否则返回变量 a 的值。

如果你之前使用的是 || 运算符来处理 null 和 undefined 的情况,那么你可以尝试使用 Nullish 合并运算符来代替它。例如,如果要获取一个对象的值,可以使用以下代码:

上述代码有个问题,如果 data.value 的值为 0 或者空字符串,它也会被认为是 falsy 值,因此会返回 defaultValue。为了避免这种问题,我们可以使用下面的代码:

但是,这种代码比较冗长且容易读错。使用 Nullish 合并运算符,我们可以写出更简洁的代码:

示例

下面是一个具体的示例,它演示了如何使用 Nullish 合并运算符来处理多个变量中的 null 或 undefined 值:

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

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

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

在上述示例中,options 对象中的三个属性值都有默认值,但是它们的值可能为 null 或 undefined。使用 Nullish 合并运算符,就可以快速地获取它们的值,并指定默认值。

总结

Nullish 合并运算符是 ES11 中新增的一个运算符,它能够让我们更简洁、更优雅地处理 null 和 undefined 值。如果你之前使用过 || 运算符来处理这个问题,那么你可以尝试使用 Nullish 合并运算符来代替它。在实际开发中,我们可以结合 null 和 undefined 值的特性,灵活地运用 Nullish 合并运算符,让我们的代码更加简洁、高效。

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

纠错
反馈