如何在 ECMAScript 2021 中使用 Nullish Coalescing 操作符

阅读时长 5 分钟读完

在 ECMAScript 2021 中,Nullish Coalescing 操作符是一个非常有用的功能,它使我们能够更方便地处理 null 和 undefined 值。本文将详细介绍 Nullish Coalescing 操作符的使用方法,并提供示例代码和实用技巧。

什么是 Nullish Coalescing 操作符

在 JavaScript 中,常常需要处理变量值为 null 或 undefined 的情况。通常我们使用逻辑运算符 || 来处理这种情况,例如:

上面的代码中,如果变量 foo 的值为 null 或 undefined,我们会将它赋值为 'default value'。然而,|| 运算符存在一个问题,它会将一些 falsy 值(如空字符串 ''、数字 0、布尔值 false)误认为是 null 或 undefined,从而导致不必要的错误。例如:

在上面的代码中,虽然变量 bar 的值为 '',但 || 运算符将它误认为是 null 或 undefined,导致我们得到了一个不正确的结果。为了解决这个问题,Nullish Coalescing 操作符应运而生。

Nullish Coalescing 操作符(??)是一个新的逻辑运算符,它只在变量值为 null 或 undefined 时才返回默认值。例如:

在上面的代码中,我们使用 ?? 运算符来处理变量 baz 的值为 null 或 undefined 的情况,并正确地得到了默认值 'default value'。

如何使用 Nullish Coalescing 操作符

使用 Nullish Coalescing 操作符非常简单,只需要在需要处理 null 或 undefined 值的变量后面加上 ?? 运算符,然后跟上默认值即可。例如:

在上面的代码中,我们分别处理了变量 foo 和 bar 的值为 null 或 undefined 的情况,并得到了正确的默认值。同时,我们还处理了变量 baz 的值为非 null 或 undefined 的情况,并得到了它本身的值。

实用技巧

除了基本用法之外,Nullish Coalescing 操作符还有一些实用技巧,可以帮助我们更方便地处理 null 和 undefined 值。

使用 Nullish Coalescing 操作符设置默认参数

在函数调用时,我们经常需要设置默认参数值。在 ECMAScript 2020 之前,我们通常使用 || 运算符来实现这个功能。例如:

在 ECMAScript 2021 中,我们可以使用 Nullish Coalescing 操作符来更方便地实现这个功能。例如:

在上面的代码中,我们使用 ??= 运算符来设置默认参数值。如果函数调用时传入的参数为 null 或 undefined,我们会将它赋值为默认值 'default value'。

使用 Nullish Coalescing 操作符避免错误

在处理变量值为 null 或 undefined 的情况时,我们经常需要使用短路运算符来避免错误。例如:

在 ECMAScript 2021 中,我们可以使用 Nullish Coalescing 操作符来更简洁地实现这个功能。例如:

在上面的代码中,我们使用 ?. 运算符来避免 obj、obj.prop1 和 obj.prop1.prop2 为 null 或 undefined 的情况,并得到正确的结果。

总结

Nullish Coalescing 操作符是 ECMAScript 2021 中一个非常实用的功能,它使我们能够更方便地处理 null 和 undefined 值。本文介绍了 Nullish Coalescing 操作符的基本用法和实用技巧,并提供了示例代码和实用技巧。在实际开发中,我们可以使用 Nullish Coalescing 操作符来提高代码的可读性和可维护性,从而更快地开发出高质量的前端应用程序。

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

纠错
反馈