JavaScript/TypeScript 中 ?? 、||、?.
??
是 JavaScript/TypeScript 中的空值合并运算符(Nullish Coalescing Operator)
它的作用是:
当左侧的值为
null
或undefined
时,返回右侧的值;如果左侧的值不是
null
或undefined
,则返回左侧的值。
??
和 ||
的区别:
||
会在左侧为任何falsy
值(false
、0
、""
、null
、undefined
、NaN
)时返回右侧的值??
只在左侧为null
或undefined
时才返回右侧的值
console.log(null ?? "default") // 输出: "default"
console.log(undefined ?? "default") // 输出: "default"
console.log(0 ?? "default") // 输出: 0
console.log("" ?? "default") // 输出: ""
console.log(false ?? "default") // 输出: false
?. 是可选链运算符(Optional Chaining Operator),它允许我们安全地访问可能为 null 或 undefined 的对象的属性。
const obj = null
console.log(obj?.property) // 输出: undefined
console.log(obj.property) // 报错: Cannot read property 'property' of null
const user = { info: { name: 'John' } }
console.log(user?.info?.name) // 输出: "John"
console.log(user?.nonexistent?.name) // 输出: undefined
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Roozen
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果