对具有可选链接的元素进行 Null 检查

ivi*_*_it 2 javascript optional-chaining

像下面的示例一样,使用可选链进行 null 检查是一种好的做法吗?

document.querySelector('.foo')?.classList.add('bar');
Run Code Online (Sandbox Code Playgroud)

在许多代码库中我看到了这一点:

let el = document.querySelector('.foo');

if(el){
 el.classList.add('bar');
}
Run Code Online (Sandbox Code Playgroud)

我认为链接更加干净,并且在这两种情况下都会发生无声的失败。我知道浏览器支持。

小智 5

是的,可选链接确实是一种整洁的方式,不仅适用于 Null 验证,而且对于 JS 来说也是未定义的。

它可以让你的代码可读并且不那么混乱。

我建议更深入地研究可选链以使用它的奇妙功能。

参考链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining