javascript - 是什么 ?。运营商和我可以在哪里使用?JavaScript 中的空值合并运算符
问题描述
我找到了这段代码:这里,什么是?.
JavaScript 运算符?根据下面提到的代码片段,我能否??
在 JavaScript 中使用 Nullish Coalescing Operator 而不是OR 运算符?||
const location = {
lat: data?.coords?.latitude,
long: data?.coords?.longitude
}
const docId = auth.currentUser?.uid || '123'
解决方案
有点不清楚你在问什么。这段代码:
const location = {
lat: data?.coords?.latitude,
long: data?.coords?.longitude
}
分配undefined
给lat
ifdata
或data.coords
is null
or undefined
(而不是抛出错误)。但是如果anddata
都不data.coords
是or ,它会将and分配给and 。它是新的可选链运算符。 null
undefined
data.coords.latitude
data.coords.longitude
lat
long
下一行也使用它,但是:
如果
uid
可能是假值(如""
or0
),您也应该使用新的空值合并运算符:??
而不是||
.如果
auth
可能是null
orundefined
,您需要另一个?.
所以:
const docId = auth?.currentUser?.uid ?? '123'
推荐阅读
- html - 在引导程序中将 div 放在另一个 div 之上
- python - python中列表上的组合
- swagger - 在 OpenApi 3 中添加身份验证路由以生成 JWT
- c# - C#如何从基类中的派生类中获取特定类型的所有字段?
- node.js - 此 Node 实例的 N-API 版本为 1。此模块支持 N-API 版本 3。此 Node 实例无法运行此模块
- bash - 全局范围和环境有什么区别?
- ajax - ajax req 后 Wordpress 工具提示不可见
- c# - C# - 用逗号分隔字符串中的姓氏和名字
- ios - 如何删除 YandexMapKit 中的分类地标?
- luigi - 发送有关 Luigi 作业失败的松弛消息