ES2020系列之空值合并运算符 '??'

(编辑:jimmy 日期: 2024/12/26 浏览:2)

空值合并运算符 "htmlcode">

x = (a !== null && a !== undefined) "Anonymous"。
让我们使用 "htmlcode">
let firstName = null;
let lastName = null;
let nickName = "Supercoder";

// 显示第一个不是 null/undefined 的值
alert(firstName "Anonymous"); // Supercoder

与 || 比较

或运算符 || 可以与 "_blank" href="https://zh.javascript.info/logical-operators#or-finds-the-first-truthy-value" rel="external nofollow" >上一章 所讲的,我们可以用 || 替换上面示例中的 "htmlcode">

height = height "htmlcode">
let height = 0;

alert(height || 100); // 100
alert(height "color: #ff0000">优先级

"_blank" href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_Precedence#Table" rel="external nofollow" >MDN table 中为 5。

因此,"htmlcode">

let height = null;
let width = null;

// 重要:使用括号
let area = (height "htmlcode">
// 可能不正确的
let area = height "htmlcode">
let x = 1 && 2 "htmlcode">
let x = (1 && 2) "color: #ff0000">总结

空值合并运算符 "htmlcode">

// 当 height 的值为 null 或 undefined 时,将 height 的值设置为 100
height = height ?? 100;

?? 运算符的优先级非常低,只略高于 ? 和 =。

如果没有明确添加括号,不能将其与 || 或 && 一起使用。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。