什么“对象|| {}“在javascript中表示?

我在javascript应用程序中找到了以下代码行。

var auth = parent.auth = parent.auth || {}; 

我知道现有的Object父对象是用auth对象扩展但我不明白什么是parent.auth || {} parent.auth || {}在这里做。

parent.auth || {} parent.auth || {}表示如果parent.auth未定义,在布尔值情况下为null或false,则将初始化并分配新的空对象。

或者你可以理解为:

 var auth; if(parent.auth){ auth=parent.auth; } else { auth={}; } 

它表示如果parent.auth值为falsy(false,0,null,undefied等),则将值{} (空对象)赋给变量auth

|| 是或者,如果未定义parent.auth,则代码返回空对象。

就像检查null一样,然后创建一个新对象,如果为null(来自java / c#)。