JavaScript 是一种高级语言,它已经在不断发展和更新,为了保持语言的竞争力和灵活性,每年都会发布新版本的 ECMAScript。其中,ES2020 引入了两个新的操作符:Nullish Coalescing 和 Optional Chaining。
Nullish Coalescing(空值合并)
在开发过程中,常常需要对变量进行赋值,通常会使用 || 操作符在一些情况下来简化代码。但是在处理 falsy (假值)时会产生问题,falsy 包括 false、0、''、null、undefined 等等。这时候,我们可以使用 Nullish Coalescing 操作符来解决这个问题。如果值为 null 或 undefined 时,则将默认值赋给变量。
-- -------------------- ---- ------- ----- - - ---------- ----- - - ----- ----- - - -- ----- - - --- ------------- -- --------- -- ------- ------------- -- --------- -- ------- ------------- -- --- -- - ------------- -- ------ -------- -- --
从上面的例子可以看出,在 a 和 b 变量的情况下,'Hello' 和 'World' 被作为默认值返回。而在 c 的情况下,它的值为 0,所以也不会返回默认值。只有 d 的情况下,因为其为空字符串,所以依然返回了默认值。
Optional Chaining(可选链)
在处理嵌套对象的时候,我们经常需要使用操作符 . 来访问对象的属性。但有时候会遇到对象不存在的情况,这时候会报错。在这种情况下,我们可以使用 Optional Chaining 操作符使得代码更加健壮。
-- -------------------- ---- ------- ----- ---- - - ----- - ----- ------- ---- --- -------- - ----- ---- ------ -------- ------- - - -- --------------------------------------- -- ---- ----- --------------------------------------- -- ---------
在上述代码中,我们可以看到在 city 变量的情况下,data 对象存在,而并没有出现 Undefined 错误。而在 town 变量的情况下,因为不存在,所以返回的是 undefined。Optional Chaining 操作符适用于对象的属性和数组的索引。
总结
Nullish Coalescing 和 Optional Chaining 操作符的引入使得代码更加健壮且清晰。通过使用这两个操作符,我们可以避免许多开发过程中的常见问题。但是在使用它们时,我们也需要注意它们的适用场景,避免不必要的压力。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6455ca01968c7c53b092c023