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

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

2024 年 11 月 2 日に公開
ブラウズ:368

 What\'s the Difference Between `&` and `&&` in JavaScript?

JavaScript の & と && の違いを調べる

& と && の違いは何ですか?

JavaScript では論理演算を実行するための 2 つの異なる演算子: & と &&。最初は似ているように見えますが、動作は大きく異なります。

ビット単位 AND (&)

& はビット単位 AND 演算子として知られています。 2 つの数値オペランド間でビット単位の演算を実行し、結果として数値を返します。ただし、ユーティリティとパフォーマンスが限られているため、JavaScript ではほとんど使用されません。

論理 AND (&&)

&& は論理 AND 演算子です。 & とは異なり、数値やブール値を含むあらゆるデータ型で動作します。すべてのオペランドが true かどうかをチェックし、次を返します。

  • 最初の false オペランドが見つかった場合。
  • すべてのオペランドが true の場合は最後のオペランド。

&& での短絡

&& の重要な特性は短絡です。偽のオペランドが見つかると評価は終了し、残りのオペランドは無視されます。これにより、JavaScript は不要な計算をスキップしてコードを最適化できます。

実用的な使用例

ビットごと AND (&)

  • JavaScript ではほとんど使用されず、特にバイナリ データや低レベル プログラミングを扱う場合に使用されます。

論理 AND (&&)

  • 条件評価: 複数の条件が true かどうかを確認します。
  • 短縮された If ステートメント: 簡潔にするために if ステートメントを && に置き換えます。
  • 早期終了: 偽の条件が発生したときにコード ブロックを終了します。
  • データ型強制: 真実性についてさまざまなデータ型のオペランドを評価します。

コード例

const first  = 123;
const second = false;
const third  = 456;
const fourth = "abc";
const fifth  = true;

console.log(first & second); // 0
console.log(first & third);  // 72
console.log(first & fourth); // 0
console.log(first & fifth);  // 1

console.log(first && second); // false
console.log(first && third);  // 456
console.log(first && fourth); // abc
console.log(first && fifth);  // true

結論

& (ビットごとの AND) と && (論理 AND) は、さまざまな使用例を持つ JavaScript の異なる演算子です。 & は一般的ではなく、特定のシナリオで使用されますが、&& は多用途であり、短絡による効率的な条件評価と最適化を可能にします。それらの違いを理解することは、JavaScript の論理機能を習得するために非常に重要です。

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

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

Copyright© 2022 湘ICP备2022001581号-3