介绍
ECMAScript 2020 (ES11) 是 JavaScript 的最新版本,为了让开发者能够更加方便地处理值为 undefined 或 null 的情况,ES11 引入了一个新的操作符 - nullish coalescing operator (空值合并操作符)。
这个操作符被用来在一定程度上优化代码,并且在处理特殊情况时可以提供更好的可读性。
细节
该操作符由两个问号(??)组成,其语法如下:
----- ------ - - -- --
该代码中,当 a
的值为 null 或 undefined 时,返回 b
的值,否则返回 a
的值。
--- ------ ----------------- -- -------- -------- -- -------- ------ ----- - ----- ----------------- -- -------- -------- -- -------- ------ ----- - ---------- ----------------- -- -------- -------- -- -------- ------ ----- - ----- ------- ----------------- -- -------- -------- -- ----- ------
注意,nullish coalescing operator 仅在 a
的值为 null 或 undefined 时才会生效,其他 falsy 值(例如 0 或空字符串)不会触发该操作符,这一点与 JavaScript 中的 || 操作符是不同的。
--- ----- - - -- -------- ------- ------------------- -- -------- ------ ----- - --------- -- -------- ------- ------------------- -- -------- ------ ----- - -- -- -------- ------- ------------------- -- -------- ------ ----- - ---- -- -------- ------- ------------------- -- -------- ------
使用场景
nullish coalescing operator 可以用于一些常见情况,比如处理函数的参数或对象属性的默认值。
-------- ----------------- - ----- ---- - ------------ -- -------- ------ ----- --- - ----------- -- --- ----------------- ----- - ---------- ----- ------- ---- -- --- -- ------ -- ------------- -- -------- ----- --
----- ------- - --- ----- ---- - ------------ -- -------- ------ ------------------ -- -------- -----
总结
nullish coalescing operator 是 ES11 中的一个新操作符,它可以更好地处理值为 null 或 undefined 的情况,同时也可以提高代码的可读性。但需要注意,它仅仅只能处理 null 和 undefined,其他 falsy 值仍然需要使用其他方法来处理。对于处理函数参数的默认值、对象属性默认值等常见场景,nullish coalescing operator 是一种很好的选择。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64744631968c7c53b01a8eea