ホームページ >ウェブフロントエンド >jsチュートリアル >「==」を理解する必要があります。

「==」を理解する必要があります。

DDD
DDDオリジナル
2025-01-28 18:31:07599ブラウズ

We should understand `==` more, than not using it at all.

javaScriptの

演算子(ゆるい等しいコンピューティング)の動作はしばしば混乱します。その秘密は、数値比較を好むということです。一見すると、これは奇妙に思えますが、その動作の原則を理解すると、この行動の背後にある理由と効果的に使用する方法を理解するでしょう。 ==

多数の優先順位

ecMascriptの仕様によると、

操作シンボルは==抽象比較アルゴリズムに従います。このアルゴリズムには明らかなバイアスがあります。比較前に値を数値に変換することを好みます。作業原則は次のとおりです 1つの値が

番号
    である場合、もう1つの値が
  1. 文字列の場合、文字列は数値に変換されます。 値がboolean value
  2. の場合、それを数値に変換します(true 1に、false Convert a a)。
  3. 値がオブジェクト
  4. (配列など)である場合、topRimiTive操作を使用して元の値に変換し、このプロセスを繰り返します。
  5. これは、
  6. を使用する場合、JavaScriptは通常、舞台裏で気づいたよりも多くの操作を実行することを意味します。それは単なる比較価値ではなく、それらを数値に変換する最初の試みです。

重要 この数値の優先度を理解することは、さまざまなシナリオで==動作を予測するのに役立ちます。たとえば、

ここで、文字列「5」は数字5に変換され、比較的成功しています。ただし、を使用する場合、タイプは一致する必要があるため、falseを返します。

==この動作はランダムではなく、いくつかを容易にすることです。たとえば、数字の文字列表現を表す数値を比較している場合、

は、明示的な型変換をする必要なく処理できます。
<code class="language-javascript">console.log(5 == "5"); // true</code>

いつ===を使用するか

は通常より安全ですが、場合によっては

も便利です。たとえば、文字列またはデジタル形式(フォームからのユーザー入力など)の形式で表示されるデータを処理している場合、コードを簡素化できます。 ==

ここで、は、追加のタイプチェックロジックを必要とせずに、文字列とデジタル入力を処理する関数を許可します。

==より広い視点

重要なポイントは、===自体が悪くないということです。それは単なるツールです。実際の問題は、不合理な方法で使用するときに表示されます。たとえば、数字を配列と比較してください。 == これは、配列が文字列( "42")に変換され、数字(42)に変換されるためです。しかし、それが効果的であるからといって、良い考えを意味するものではありません。ここでの問題はではなく、意味のない比較です。 ==

==JavaScriptの運用記号は、これを理解することで、より良い予測可能なコードを書くのに役立ちます。通常、はより安全な選択ですが、特定のシナリオでは、強制変換のタイプが意図的で理解しやすい場合は、言語の一部でもあるため、===を使用することを検討する必要があります。 ==

以上が「==」を理解する必要があります。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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