ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript の「&」演算子と「&&」演算子の違いは何ですか?

JavaScript の「&」演算子と「&&」演算子の違いは何ですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 00:13:03766ブラウズ

What's the Difference Between the '&' and '&&' Operators in JavaScript?

JavaScript の「&」演算子と「&&」演算子の違い

JavaScript の「&」演算子と「&&」演算子は異なる役割を果たします。

'&' ビット単位の AND 演算子

'&' はビット単位の AND 演算子で、主に低レベルで使用されます。プログラミング時、またはバイナリ データを扱うとき。 2 つの数値オペランドの間でビット単位の AND 演算を実行し、結果が数値になります。オペランドが数値でない場合は、数値に強制されます。

例:

const first = 123;
const second = true;
console.log(first & second); // 72 (bit-wise AND operation)

'&&' 論理 AND 演算子

'&& ' は論理 AND 演算子で、条件を評価するためによく使用されます。従来の使用法では、両方のオペランドが true-y であるかどうかをチェックし、そうであれば true を返し、そうでない場合は false を返します。

ただし、JavaScript では、論理 AND 演算子の動作が拡張され、任意のデータ型と任意の数値が許可されます。オペランドの。オペランドを順番に評価し、以下を返します。

  • false と評価される最初の項
  • すべての項が true-y の場合の最後の項

例:

const first = true;
const second = false;
const third = "abc";
console.log(first && second && third); // false (returns the first false-y operand)

&&' 短絡動作

'&&' 演算子は短絡動作を示します。 false-y オペランドに遭遇すると、評価を終了し、false を返します。これは、特定のシナリオでコード効率を向上させることができる最適化手法です。

例:

const user = { isLoggedIn: () => false };
const message = user.isLoggedIn() && alert("Hello!");

// Equivalent to:
if (user.isLoggedIn()) {
  alert("Hello!");
}

したがって、'&' と '&&' は JavaScript で異なる役割を果たします。 「&」はビット単位の演算に使用され、「&&」は論理評価に使用され、一般に if-else ステートメントを置き換えて、条件を確認するための簡潔かつ効率的な方法を提供します。

以上がJavaScript の「&」演算子と「&&」演算子の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。