在 JavaScript 中,我们经常需要进行条件判断。然而,存在一些情况下条件判断会变得很复杂和迷惑,尤其是在处理空值时。幸运的是,ES2020 引入了 Nullish coalescing operator 可以帮助我们更好地处理这种情况。
什么是 Nullish coalescing operator?
Nullish coalescing operator(空值合并运算符)是新加入的运算符,用于处理 null 或 undefined 值的情况,它的表现形式为 ??
。
与逻辑或 ||
运算不同的是,Nullish coalescing operator 只在左手边的值为 null 或 undefined 时,才会返回右手边的值。也就是说,只有在左边的值不是 null 或 undefined 时,才会返回左边的值。
以下是一个简单的例子:
const foo = null ?? 'default value'; console.log(foo); // output: 'default value'
根据上面的例子,我们可以看到当 const foo = null
时,Nullish coalescing operator 返回了默认值 'default value'
。
如何使用 Nullish coalescing operator?
在实际开发中,我们经常需要检查变量是否为 null 或 undefined。使用 Nullish coalescing operator,我们可以更容易地进行值的判断。
以下是一个示例代码:
const firstName = person.metadata?.firstName ?? 'Unknown'; const lastName = person.metadata?.lastName ?? 'Unknown';
在这个示例中,我们使用了 ?.
运算符来判断 person.metadata
是否存在。如果不判断的话,当 person.metadata
不存在的时候,我们试图访问 firstName
或 lastName
时,就会触发 TypeError。
使用 Nullish coalescing operator,一旦 person.metadata
不存在的话,就会返回默认值 'Unknown'
。
Nullish coalescing operator 的好处
更简洁的代码
使用 Nullish coalescing operator,我们可以更加简洁和清晰地处理值的判断和操作,减少不必要的代码行数。
更好的代码可读性
与使用繁琐的条件语句相比,使用 Nullish coalescing operator 可以让代码更加易读易懂,降低代码维护难度。
更高的运行时效率
使用 Nullish coalescing operator,比在代码中使用复杂的条件语句能在一定程度上提高代码的运行时效率。
总结
Nullish coalescing operator 这个新的运算符可以帮助我们更加轻松地处理空值的情况,减少判断空值时代码的复杂性和难度。尽管 Nullish coalescing operator 在某些情况下可能没有逻辑或运算符的效率高,但在很多情况下使用它是提高代码可读性和维护性的最佳选择。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f04494f6b2d6eab3a3cef0