ECMAScript 2020:实现 Nullish Coalescing 操作符的最佳实践
随着 ECMAScript 2020 的到来,新的 Nullish Coalescing 操作符也被加入了 JavaScript 中。Nullish Coalescing 操作符可以帮助开发者更方便地处理 null 或 undefined 值。在这篇文章中,我们将会讨论 Nullish Coalescing 操作符的最佳实践,并且提供一些实用的示例代码。
什么是 Nullish Coalescing 操作符?
Nullish Coalescing 操作符是一个新的二进制操作符,使用 ?? 符号表示。这个操作符可以在两个操作数中选择一个非空成员。当左侧的操作数是 null 或者 undefined 时,它会返回右侧的操作数。否则,它会返回左侧的操作数。
下面是一个简单的示例:
const foo = null ?? 'default'; console.log(foo); // 'default' const bar = 0 ?? 42; console.log(bar); // 0 const baz = '' ?? 'default'; console.log(baz); // ''
在上面的代码中,第一个示例中,foo 的值为 null,所以它返回了默认值 'default'。在第二个示例中,bar 的值为 0,因为它不是 null 或 undefined,所以返回了 0。在第三个示例中,baz 实际上是一个空字符串,所以不是 null 或 undefined,因此返回了 ''。
Nullish Coalescing 操作符的最佳实践
- 使用默认值
Nullish Coalescing 操作符的最常见用途是在变量解构中设置默认值。例如:
const { name = 'Tom', age = 18 } = userDetails ?? {};
这个示例用 ?? 操作符获取 userDetails 对象。如果 userDetails 是 null 或 undefined,则右侧的 {} 对象将被给予解构的默认值。
- 使用在函数参数中
我们可以在函数参数中使用 Nullish Coalescing 操作符,以便在必须传入值时使用默认值。例如:
function printMessage(message = 'Default message') { console.log(message); } printMessage(); // 'Default message' printMessage(null); // 'Default message' printMessage(undefined); // 'Default message' printMessage('Hello, world!'); // 'Hello, world!'
在上面的代码中,如果 message 参数没有传入值,参数将使用默认值 'Default Message'。否则,函数将使用传入的 message 参数进行输出。
- 逐层使用 Nullish Coalescing
当一个对象属性嵌套非常深时,Nullish Coalescing 操作符的使用变得越来越常见。例如:
-- -------------------- ---- ------- ----- ----------- - - ----- ------ ---- ----- -------- - ------- ---- ---- ----- ----- ----- -------- - ---------- ------ ----------- ----- -- -- -- ----- -------- - -------------------------- -- ---------- ---------------------- -- --------- ----- ----------- - ---------------------------------------- -- ---------- ------------------------- -- -----展开代码
在上面的代码中,我们使用了 Nullish Coalescing 操作符来获取 userDetails 对象中的 address 属性和 zipCode 属性。如果这些属性为 null 或 undefined,则返回默认值 'unknown'。
总结
Nullish Coalescing 操作符是 ECMAScript 2020 中一个非常有用的新特性,它可以帮助开发者更方便地处理 null 或 undefined 值。通过本文的介绍,我们了解了 Nullish Coalescing 操作符的最佳实践,并学习了一些实用的代码示例。在编写 JavaScript 代码时,我们应该尽可能地使用 Nullish Coalescing 操作符,以便更好地处理变量和对象属性的默认值。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ad30ad48841e9894959719