ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript の「&」と「&&」の違いは何ですか?

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-03 01:01:04681ブラウズ

 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 ステートメントを && に置き換えます。
  • 早期終了: false 条件が発生した場合にコードのブロックを終了します。
  • データ型強制: 異なるデータ型のオペランドの真偽を評価します。

コード例

<code class="javascript">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</code>

結論

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

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

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