这是什么?。操作员和我在哪里可以使用??JavaScript中的空合并运算符
我发现了这段代码:这里,什么是这是什么?。操作员和我在哪里可以使用??JavaScript中的空合并运算符,javascript,Javascript,我发现了这段代码:这里,什么是?。JavaScript操作符?根据下面提到的代码片段,我是否能够在JavaScript中使用?空合并运算符,而不是|或运算符 const location = { lat: data?.coords?.latitude, long: data?.coords?.longitude } 你问什么有点不清楚。此代码: const location = { lat: data?.coords?.latitude, long: data?.coords?
?。
JavaScript操作符?根据下面提到的代码片段,我是否能够在JavaScript中使用?
空合并运算符,而不是|
或运算符
const location = {
lat: data?.coords?.latitude,
long: data?.coords?.longitude
}
你问什么有点不清楚。此代码:
const location = {
lat: data?.coords?.latitude,
long: data?.coords?.longitude
}
如果数据
或数据,则将未定义
分配给lat
。coords
为空
或未定义
(而不是抛出错误)。但是如果data
和data.coords
都不是null
或undefined
,它将data.coords.latitude
和data.coords.longitude
分配给lat
和long
。是新接线员
下一行也使用它,但是:
uid
可能是错误的值(如”
或0
),则还应使用新运算符:??
而不是|
auth
可能是null
或未定义的,则需要另一个?。
从技术上讲,您应该使用
??
而不是|
,因为uid
可能会返回一个既不是空值也不是未定义的错误值:const docId=auth.currentUser?.uid123'
@ViduminiKulathunga这是唯一的答案,这能回答你的问题吗?请参阅和MDN上关于和的文档。这很好,因为当JS允许像C#中那样的空条件运算符时?这是新的还是我已经错过很久了?@Cid
const location = {
lat: data?.coords?.latitude,
long: data?.coords?.longitude
}
const docId = auth?.currentUser?.uid ?? '123'