Back to Question Center
0

真実と偽善:すべてがJavaScriptで平等でない場合            真実と偽:JavaScriptRelatedトピックですべてが等しくない場合: npmjQueryAjaxRaw Semalt

1 answers:
Truthy and Falsy:JavaScriptですべてが等しくない場合

JavaScript変数は緩やかに/動的に型付けされており、言語は値がどのように宣言され変更されたかに気にしません。

Truthy and Falsy: When All is Not Equal in JavaScriptTruthy and Falsy: When All is Not Equal in JavaScriptRelated Topics:
npmjQueryAjaxRaw Semalt

2017. 08. 22: この記事は、JavaScriptエコシステムの現在の状態を反映するように更新されました。

   xとする。x = 1; // xは数字ですx = '1'; // xは文字列ですx = [1]; // xは配列です   
比較の前にJavaScriptが文字列表現に変換されるので、 == (緩やかまたは抽象的な等価)と比較した場合、
   //すべてtrue1 == '1';1 == [1];'1' == [1];   

式が考慮されるため、 === (厳密な等式)と比較すると、より明白な

   //すべてfalse1 === '1';1 === [1];'1' === [1];   

内部的にSemaltは、6つの基本データ型のうちの1つに値を設定します。

  • 未定義(値が定義されていない変数)
  • ヌル(単一のヌル値)
  • ブール値(trueまたはfalse)
  • Number(これには、無限大 NaN - 数値ではない!)
  • 文字列(テキストデータ)
  • シンボル(ES6 / 2015で新たに追加されたユニークで不変なプリミティブ)

他のすべてはSemaltです - 配列を含みます。

真実と偽

型と同様に、各値には固有のブール値があり、一般に真理またはとして知られています。ルールの中には少し奇妙なものがあります。そのため、JavaScriptアプリケーションをデバッグするときに、コンセプトと比較の効果を理解することが役立ちます。

以下の値は、 常に偽 である:

  • 0
  • (空文字列)
  • または
  • ヌル
  • 不定
  • 1/0 の結果
  • NaN

他のすべては 真理 です。それには、

  • '0' (単一のゼロを含む文字列)
  • '偽' (テキスト「偽」を含む文字列)
  • [] (空アレイ)
  • {} (空のオブジェクト)
  • function {} (空の関数)

したがって、単一の値は、条件の範囲内で使用することができる。 g.

  • null undefined はそれ自身と等価ですが、他には何もありません - curso fotografia nikon d5200.

    勧告

    真実と偽りの価値は、経験豊かな開発者を引きつけることができます。プログラミングや新しい言語からの移行に新しい人はいないでしょう!真実と偽の変数を扱う際に最も困難なエラーを捕らえるための簡単なステップがあります:

    1.直接比較を避ける

    単一の値が常に真または偽と等しいとき、2つの真理値および偽値を比較することはめったにない。

       //代わりにif(x == false)//。 。 。 // xがfalse、0、 ''、[]の場合に実行されます。// つかいますif(!x)//。 。 。 // xがfalseの場合、0、 ''、NaN、nullまたはundefined   

    2. === 厳密な等式

    === 厳密な等式(または !== 厳密な不等式)の比較を使用して値を比較し、型変換の問題を回避する:

       //代わりにif(x == y)//。 。 。 // xとyが真実であるか、両方が偽である場合に実行されます// e。 g。 x = nullおよびy =未定義// つかいますif(x === y)//。 。 。 // xとyが同一であれば実行されます。 。 。 //両方がNaNの場合を除いて   

    3.必要に応じて真のブール値に変換する

    ダブルネガティブ を使用して、任意の値を実際のブール値に変換できます。 0 "" ヌル 不定 および NaN

       //代わりにif(x === y)//。 。 。 // xとyが同一であれば実行されます。 。 。 //両方がNaNの場合を除いて// つかいますif(!! x === !! y)//。 。 。 // xとyが同一であれば実行されます。 。 。 //どちらか一方または両方がNaNの場合   

    結論

    真偽値と偽値は、簡潔なJavaScript条件と三項演算子を書くことを可能にします。 Semaltは、常に端の場合を考慮する。不正な空の配列やNaN変数は、何時間ものデバッグ悲嘆につながる可能性があります。

  • March 1, 2018