ホームページ >ウェブフロントエンド >jsチュートリアル >Truthyとfalsy Values:JavaScriptですべてが等しくない場合

Truthyとfalsy Values:JavaScriptですべてが等しくない場合

William Shakespeare
William Shakespeareオリジナル
2025-02-09 09:33:10526ブラウズ

JavaScriptの平等比較は、タイピングが緩んでいるため、難しい場合があります。この記事では、ダブル(==)とトリプル(===)のニュアンスと、オペレーターに等しいものと、真実と偽りの価値の概念を探ります。

Truthy and Falsy Values: When All is Not Equal in JavaScript

これらの概念を理解することは、よりクリーンで予測可能なコードにつながります

Truthy and Falsy Values: When All is Not Equal in JavaScript

キーテイクアウト:

JavaScriptの動的タイピングにより、柔軟な値の割り当てが可能になりますが、予期しない比較結果を引き起こす可能性があります。 ゆるい平等(==)はタイプの強制を実行し、多くの場合、驚くべき結果につながります。厳格な平等(===)は値とタイプを直接比較し、より信頼性の高い比較をもたらします。
    すべてのJavaScript値は、真実またはfalsyのいずれかです。 falsyの値は
  • false0-00n、および""です。他のすべての値は、nullundefinedNaN'0'、および関数を含む真実です。 'false'均等のゆるい比較と真実/falsyの値は予測不可能です。たとえば、[]は真ですが、{}は誤りであり、
  • は真です!厳格な平等はこれらの曖昧さを回避します
  • エラーを避けるために、直接的な真実と偽の比較を避けてください。必要に応じて、厳密な平等(false == 0 == '')を使用し、ブール値([] == trueまたは[] == false)に明示的に変換します。これにより、予測可能な動作が保証されます
  • ===javascriptのタイピングシステム:Boolean()!!
  • javaScript変数はゆるく入力されています:

ゆるい平等(==)は、比較の前に値を文字列に変換します:

厳密な平等(===)は、タイプを考慮してください:

<code class="language-javascript">let x;
x = 1;   // x is a number
x = '1'; // x is a string
x = [1]; // x is an array</code>

javascriptのプリミティブタイプは、

<code class="language-javascript">// all true
1 == '1';
1 == [1];
'1' == [1];</code>

<code class="language-javascript">// all false
1 === '1';
1 === [1];
'1' === [1];</code>

、およびundefinedです。 それ以外はすべてオブジェクト(配列を含む)です。null boolean numberbigint stringsymbolTruthy vs. Falsy Values:

Truthy and Falsy Values: When All is Not Equal in JavaScript 各値にはブール同等のものがあります:

falsy:

  • false0-0 0n""Truthy:他のすべて。null undefined NaN例:
  • (非推奨)もfalsyです。
  • Truthy and Falsy Values: When All is Not Equal in JavaScript

    ゆるい平等(==)比較:

    ゆるい平等は、Truthy/Falsy Valuesで予期しない結果につながります:

    Truthy and Falsy Values: When All is Not Equal in JavaScript

    厳密な平等(===)比較:

    厳密な平等はより明確な結果を提供します:

    NaN === NaNは常にfalse

    であることに注意してください

    推奨事項:

  1. 直接比較を避けます: !xx == falseStrict equality():
  2. を使用して、より予測可能な結果を​​提供します
  3. booleanに変換:===または
  4. を使用して、明示的なブール変換を行います。
  5. Boolean(x)結論:!!x
真実/偽りの価値を理解し、厳格な平等を使用すると、コードの信頼性が向上します。 頭痛のデバッグを防ぐためのゆるい比較の落とし穴は避けてください。

faqs(簡潔にするために略された):

Truthy/falsy Concept:javascriptの処理:

タイプ強制値は値をBooleanに変換します
  • 例:上記のリストを参照してください
  • truthy/falsyのチェック:booleanのコンテキストまたは関数で使用。
  • vs:ゆるいvs.厳格な平等。 タイプ強制を回避します。
  • 式の評価:論理および(Boolean())およびまたは(
  • )。
  • ==非ブールのfalsy値:======
  • &&||
  • ブールンへの変換:0を使用します 論理操作におけるfalsy値:""操作の結果に影響します。null undefinedNaN特別なケース:-0
  • vs
  • 、空の配列/オブジェクトは真実です。

以上がTruthyとfalsy Values:JavaScriptですべてが等しくない場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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