「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JavaScript の「&」演算子と「&&」演算子の違いは何ですか?

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

2024 年 11 月 8 日に公開
ブラウズ:852

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)

&&' Short-Circuiting Behavior

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

例:

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

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

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

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3