ES11 (2020) 中的 nullish 合并运算符:如何有效避免编程中的错误?

阅读时长 3 分钟读完

什么是 nullish 合并运算符?

在早期的 JavaScript 版本中,我们经常使用逻辑或 ( || ) 运算符来判定变量是否为真。例如:

这段代码的意思是当 a 为真时,将 result 赋值为 a ,否则将 result 赋值为 b。但是通过逻辑或运算符进行赋值时,如果变量的值为假,那么这个操作就会出现一些不可预知的错误。

ES11 中新增了 nullish 合并运算符 (??),解决了上述问题。nullish 合并运算符的语法如下:

这段代码的意思是当 a 的值为 null 或者 undefined 时,将 result 赋值为 b。如果 a 的值既不为 null 也不为 undefined,那么将返回 a 的值。

nullish 合并运算符的使用场景

nullish 合并运算符的主要使用场景是在判断当前值是否为 null 或者 undefined 的情况下,再进行条件的判断。

例如,在 DOM 操作中,我们需要设置某个元素的属性值,但是如果元素为空,我们就无法进行属性的设置。在这种情况下,我们就可以使用 nullish 合并运算符:

这段代码的意思是当 element.value 的值为 null 或者 undefined 时,将 elementValue 赋值为 'default value'。否则,将 elementValue 赋值为 element.value。

nullish 合并运算符的优点

避免类型判断的错误

通过使用 nullish 合并运算符,我们可以快速解决在进行类型判断时出现的错误。例如,下面的代码会在查询某个元素的属性值时出现错误:

当 element.value 的值为 0 或者空字符串时,上述代码会出现错误。但是通过使用 nullish 合并运算符,我们可以避免这种错误的出现:

可读性更强

nullish 合并运算符的语法更加简洁易懂,可以使代码更加易读。

如何学习 nullish 合并运算符

掌握 nullish 合并运算符的最好方式是通过实践。实践可以帮助我们更好地理解和掌握语法规则。

下面是一个示例代码的演示,可以帮助您更好地理解如何使用 nullish 合并运算符:

上述代码中,element 的值为 null ,所以 elementValue 的值将被赋值为 'default value'。我们可以通过查看控制台来了解 elementValue 的值。

总结

nullish 合并运算符是 ES11 中的全新功能,可以避免在进行类型判断时出现错误。新特性的最大优点就是可以使代码更加易读、简洁,提高开发效率。要掌握 nullish 合并运算符,建议尽可能多地进行实践,提高对语法规则的掌握。

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

纠错
反馈