簡體   English   中英

Javascript邏輯運算(a === true || a === false)

[英]Javascript logical operation (a === true || a === false)

我在moment.js里面找到了這段代碼。 我們為什么要這樣檢查?

if (locale === true || locale === false) {
    strict = locale;
    locale = undefined;
}

這用於確保locale僅用作strict變量/參數(如果它實際上是布爾值)。 看看那段代碼,根據是否指定了可選的代碼,它看起來可能會改變函數參數。 (在這種情況下, locale將是strict之前的可選項。)

它檢查locale是完全正確還是假,而不是任何其他假( undefinednull ,'', NaN ,0)或truthy值

也許我不明白你的背景。 但是,基於代碼,我認為他們想檢查locale的值是一個布爾值。

if (locale === true || locale === false) {...}

所以你可以看到他們使用三等於檢查(locale可能是另一種類型)。

“==”表示值相等但不是類型,而“===”表示值和類型相等。

var x = 7;

x == "7" // returns true

x === "7" // returns false as x is not a string

x === 7 // returns true as they are both equal in value and type

對於您提供的代碼,看起來它正在檢查locale的值和類型是否為布爾值,這就是為什么使用三等於比較以及為什么它包含true和false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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