簡體   English   中英

為什么`typeof false || undefined`返回“布爾值”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM