& と && の違いは何ですか?
JavaScript では論理演算を実行するための 2 つの異なる演算子: & と &&。最初は似ているように見えますが、動作は大きく異なります。
ビット単位 AND (&)
& はビット単位 AND 演算子として知られています。 2 つの数値オペランド間でビット単位の演算を実行し、結果として数値を返します。ただし、ユーティリティとパフォーマンスが限られているため、JavaScript ではほとんど使用されません。
論理 AND (&&)
&& は論理 AND 演算子です。 & とは異なり、数値やブール値を含むあらゆるデータ型で動作します。すべてのオペランドが true かどうかをチェックし、次を返します。
&& での短絡
&& の重要な特性は短絡です。偽のオペランドが見つかると評価は終了し、残りのオペランドは無視されます。これにより、JavaScript は不要な計算をスキップしてコードを最適化できます。
実用的な使用例
ビットごと AND (&)
論理 AND (&&)
コード例
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