![](/img/trans.png)
[英]Why does comparing value with undefined returns false in JavaScript?
[英]Why does `typeof false || undefined` returns “boolean”
我剛剛在控制台中執行了以下命令:
typeof false || undefined // "boolean"
雖然我希望它返回“未定義”,但是
typeof undefined // "undefined"
為什么返回“布爾值”? 如果先前運算為假值,則OR
運算符是否不應該返回最后一個參數? 如此false || undefined
false || undefined
返回undefined
並且對undefined
執行typeof
嗎?
您沒有遵守運算符的優先級!
> typeof false || boolean // (typeof false) || boolean
"boolean"
> typeof (false || boolean)
"undefined"
只要OR
符不是偽造的, OR
運算符就會返回left參數。
在您的示例中,我們得到了以下信息:
(typeof false) || undefined
typeof false
返回"boolean"
,這不是虛假的,因此返回而不是undefined
。
考慮代碼:
typeof false || undefined
typeof false
將返回“ boolean”,因此它將變為"boolean" || undefined
"boolean" || undefined
最終輸出將為“布爾值”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.