2017-05-26 11 views
-3

だから、私はいくつかの検索をしましたが、まだ尋ねられていないようですが、私は間違っている可能性があります。Javascript:false && falseはfalseですか?

これはjavascriptの場合のように論理的に

false && false === true 
false && true === false 
true && false === false 
true && true === true 

もつとも

それはいないようです。私はすでにsolution真剣を見つけた

false && false //console output: false 
false && true //console output: false 
true && false //console output: false 
true && true //console output: true 

:私はconsoleで上記を実行し、これは私はFireFoxの& & Chromeから得るものですか?どうして?私はこれを標準的な行動と考えています。

さらにJava documentationにはlogical AND | &&と記載されています。

+1

'false && false === true'さん?なぜそう思うの? – SLaks

+0

なぜJavaScript(なぜ完全に異なる言語**)が何をしているのかJavaのマニュアルを見てみましょうか? –

+1

あなたはXOR –

答えて

3

偽と偽は論理的に偽です。

+0

これは正しいです。 true && true == trueのみです。 –

0

AND'sで偽の式を設定するたびに、結果が真となるためにはすべての式がTRUEでなければならないので、残りの式は関係ありません。

偽& &真の意味:

両方の式が有効ですか? 「偽」であり「真」であることは真実ですか? これらのいずれかが、その偽

別の例を失敗した場合:

真|| (偽& &真)

この場合、あなたはこのように読む:

は、真の "真の" 真OR ... "true" と "false" ですか?

最初のものは真と評価されるので、実際にはそうではないので、2番目の式を検証する必要はありません。最適化のために。

0

&&演算子は、左から右への結合性を持ちます。

第1の値が真実(trueに可)であれば、第2の値が真実であれば第2の値を評価し、第3の値が真であれば、式の結果となる最後の値を評価する。

演算子の最初の要素が誤っている(falseに強制可能)ため、式はimmediatly falseを返します。

Operator precedence MDN

0

&&演算子を用いた発現の結果は、これらのルールに基づいて決定される:

式の左辺は「falsey」である場合、式は、左辺を返します。

式の左側が "真実"の場合、式は右側を返します。

これだけです。したがって、false && falseでは、左側が「偽」なので、式は左側にfalseを返します。

私は実際に|| and &&オペレータについてのブログ記事を書いています。それは何が起こっているのかを詳しく説明することができます。

関連する問題