簡體   English   中英

JS:為什么這返回true?

[英]JS: why does this return true?

0 + 1 === 1 || 1 + 1 === 2 || 2 + 1 === 10

有人可以解釋為什么該語句返回true嗎?

分別而言,前兩個為true,最后一個為false。 但是, 總體而言 ,該語句返回true。 似乎您只需要一個較長的語句列表中的一個true語句即可使OVERALL語句返回true。 那是對的嗎?

只是試圖鞏固我對布爾值的理解。 干杯。

那么, || 如果有,則返回第一個真實值:

1 || ANYTHING_IN_THE_WORLD ; // returns 1

所以你真正擁有的就是

0 + 1 === 1

沒錯 是的,您的理解是正確的。


擴展執行順序:

運算符優先級在這里起作用:

0 + 1 === 1 || 1 + 1 === 2 || 2 + 1 === 10

首先,我們有:

1 === 1 || 2 === 2 || 3 === 10

然后我們進行相等性檢查:

true || true || false;

如上所述,其中哪一個true || ANYTHING_AT_ALL true || ANYTHING_AT_ALL為true,因此最終輸出為true

|| or運算符。 因此,如果條件一條件二條件3為真,則該語句為真。

我建議在這里閱讀JavaScript: https//developer.mozilla.org/en/docs/Web/JavaScript

它返回true,因為使用OR運算符(||),第一個true將返回true。

評估將執行:

> 1- is (0+1===1)

=>是的! 然后返回true。

這個

> 0+1===1 || 1+1000===1

出於相同的原因將返回true。

“某些蘋果是紫色或某些蘋果是綠色”是正確的,因為某些蘋果是綠色就足夠了。 當一個或兩個為真時,或a OR b為真。 a AND b都必須為真。

因此,表達式中的某些項目為真的事實使整個表達式為真。 如果替換||不會 &&

事實上,

似乎您只需要一個較長的語句列表中的一個true語句即可使OVERALL語句返回true。 那是對的嗎?

是(幾乎)完全正確的。 我要進行的唯一更正是至少在JavaScript上下文中將“ true”替換為“ truthy”。 例如, 3 || 5 3 || 5是不是true ,但3 -而3是不是true ,這 truthy。

暫無
暫無

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

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