ECMAScript 2021: 掌握新特性 Logical nullish assignment operator

阅读时长 3 分钟读完

在 ECMAScript 2021 中,新增了一个逻辑运算符 ??=,称为 Logical nullish assignment operator,可以用于为变量赋默认值。

问题背景

在开发过程中,我们经常需要为变量设置默认值,以防止出现未定义的情况。通常我们会使用逻辑或运算符 || 来实现这个目的,例如:

这种方法基本可行,但是如果变量的值本身为假值(例如 false0'' 等),那么变量将被赋予默认值。这可能并不是我们所期望的结果,因此需要一种更为精确的方法来为变量设置默认值。

解决方案:Logical nullish assignment operator

ECMAScript 2021 引入了 Logical nullish assignment operator ??=,它可以为变量赋默认值,并且只在变量的值为 null 或 undefined 时才起作用。

使用方法如下:

如果变量的值不是 null 或 undefined,则 ??= 运算符不会生效,变量的值仍然是原来的值。

总结

Logical nullish assignment operator ??= 是 ECMAScript 2021 中引入的新特性,它可以精确地为变量赋默认值,避免了使用逻辑或运算符带来的不精确性。

开发者可以在需要为变量赋默认值时使用 ??= 运算符,从而更加精确地实现变量默认值的赋值操作。

参考代码:

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

纠错
反馈

纠错反馈