JavaScript の論理演算子: ブール結果を超えて
JavaScript では、'&&' (AND) や '|| などの論理演算子が使用されます。 ' (OR) 通常、ブール値の結果が返されますが、特定の状況では他のオブジェクトが返される場合があります。
その理由を理解するには、短絡評価の概念を理解することが重要です。 「&&」と「||」の両方は短絡演算子であり、論理結果が決定されると評価を停止することを意味します。
式 'X || ではY'、'X' が最初に評価されます。 「X」が「true」であると判定された場合、式はそれ以上の評価を行わずに「X」を返します。ここで「ショートサーキット」が登場します。一方、「X」が「false」の場合、「Y」が評価され、式は「Y」を返します。
同様に、「&&」は最初の「真実」の引数、または最後の "偽" 引数。
この問題は、JavaScript による真偽の処理に起因します。 JavaScript では、次の値は "false" とみなされます: 'false'、'0'、'-0'、''、'null'、'unknown'、'NaN'、および 'document.all'。
したがって、式が「false」として評価された場合、以前のバージョンの JavaScript のようにブール値「false」を返すのではなく、最新の実装では実際に評価された値を返します。 expression.
この動作は、質問で指定された式によって厳密なブール値ではなくオブジェクトが返される理由を説明しています。 「obj.fn()」または「obj._」が定義されている場合、それらは「false」とみなされる値に含まれないため、その式の結果が返されます。
以上がJavaScript 論理演算子がブール値ではなくオブジェクトを返すのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。