オペランドが両方ともブール値の場合、「&&」は 2 つの値に対してブール AND 演算を実行します。
関係演算子は、「&&」よりも優先されます。
「&&」は、true と false の値に対してブール AND 演算を実行できます。 (偽の値には、false、null、未定義、0、NaN、および "" が含まれます)。 JS でブール値を使用したい場合、式やステートメントはそれを true または false 値として扱うため、実際には、「&&」は常に true と false を返すとは限りません。
演算子が true 値または false 値を返したい場合、左オペランドの値に応じて 2 つの演算状況が発生します。演算結果が false の場合、演算子は最初に左オペランドの値を計算します。値、次に式全体。式の結果も false の値でなければなりません。このとき、「&&」は左側のオペランドの値を返すだけで、右側のオペランドは計算しません。左側のオペランドが true の場合、「&&」は右側のオペランドの値を評価し、それを式全体の結果として返します。
「&&」の動作は「ショートサーキット」と呼ばれることもあり、多くのコードがこの機能を利用して条件付きでコードを実行していることがわかります。たとえば、次の 2 行のコードは完全に同等です:
演算子「||」にも、「&&」と同様に、いくつかの複雑な動作があります。
は、一連の代替式から最初の真理値式を選択するために使用されます:
この使用法を関数で使用して、パラメータのデフォルト値を提供できます:
演算子の優先順位
同じ優先度を持つ演算子の場合、演算の順序は組み合わせの方向によって決まります。簡単に覚えておくと次のようになります:! > 算術演算子 > >