比較判断
比較判断とは、2つの値を比較し、ブール値を返して、比較条件が満たされているかどうかを示します。 JavaScriptは、合計8つの比較演算子を提供します。ここでは、主に、厳格な平等オペレーターと平等オペレーターの違いについて説明します。
厳密な平等オペレーター===
2つの値の戻りが異なることを決定します、false、両方の値はnull/undefined/true/false trueです。 2つの値の1つはnan、false、両方の値は数値と等しい、true、両方の値は文字列であり、等しい値はtrueです。両方の値は同じ参照タイプtrue1 === "1" // falsetrue === true // true undefined === undefined // true1 ==== 1 // truenan === nan // fals false [] === [] // false(function(){} === function(){})// falseavar v1 = {}; var v2 = v1; // 2つの値は同じオブジェクトv1 === v2 //を参照してください厳密な平等オペレーターには、対応する厳格な不平等オペレーター(!==)があり、2つの操作結果はまったく逆です。
平等演算子==
平等オペレーターが同じタイプのデータを比較する場合、同じ厳格な等式オペレーターは、等式オペレーターが異なるタイプのデータを比較する場合、他のタイプのデータを比較します。元のタイプのデータは数値タイプに変換され、両方の文字列とブーリアンを数値に変換し、null == undefined return trueを比較します。 // true'123 '== 123; // true、 '123'は数値123false == 0に変換されます。 // true、数値への変換のfalseは0'a '==' a 'です。 // false、変換されたエンコードは異なる123 == {}; //false, executing toString() or valueOf() will change 123 == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = NAN; // false、nanがある限り、それはfalse {} == {}; // false、比較はそのアドレスです。新しく作成された各オブジェクトの参照アドレスは異なるnull == undefined // true'nan '== nan // false123 == nan // falsenan == nan // falsefalse == 0 // truetrue == 1 // truetrue == 2 // falsedefedined == 0 // false'123' = 123 '= 123' = 123 '= 123' = 123 '= 123' = 123 '== 12 //間違い平等演算子には対応する不平等な演算子(!=)があり、2つの操作結果はまったく逆です。
!!裁判官
!! Booleanに相当すると、コードを書くときは非常に便利です!!判断のためにBoolean型に変換することは非常に便利です
!! 'xzavier'; // 真実!!''; // false !! '0'; // true !! '1'; // true !! '-1' // true !! 0 // false !!未定義// false !! null // false !! nan // false !! {}; // true !! {name: 'xz'} // true !! []; // true !! [1,2,3]; // true !! true; // 真実!裁判官
逆演算子!ブール値を逆の値に変更するために使用されます。つまり、trueはfalseになり、falseが真になります。ブール値ではないデータの場合、反転演算子は自動的にブール値に変換します。ルールは、次の6つの値がtrueに反転し、他の値がfalseに反転するということです
未定義のnull false 0(+0および-0を含む)nan空の文字列( '')
[]および{}判断
[]と{}の場合、上記のように、私たちは間違いなくビジネスコードでそれらについて判断を下します
!! {}; // true !! {name: 'xz'} // true !! []; // true !! [1,2,3]; // 真実判断には使用できません!そして!。配列の場合、そのlength属性をJudgeに使用します
[] .length // 0 false [1,2,3] .length // 3 true
オブジェクトの場合、jQueryのメソッド$.isEmptyObject(obj)を使用するか、jqueryを模倣して書くことでメソッドをカプセル化することができます。
関数isemptyObject(obj){var name; for(objの名前){return false; } return true;} isemptyObject({}); // trueisemptyObject({name: 'xzavier'});間違いツールライブラリのunderscoreをお勧めします。これにはメソッドがありますisEmpty(object)
const _ = require( 'Underscore'); _。isempty({}); // 真実&&裁判官
条件付き式で使用されるルールは次のとおりです。
num1 && num2true true true true true false false false falsefals
声明で使用されるルールは次のとおりです。
結果= expression1 && expression2
expression1がfalseに評価された場合、結果はexpression1です。それ以外の場合、結果は式2です
(1 -1)&&(x + = 1)// 0(2> 1)&&(5 + 5)// 10(2 + 1)&&(5 + 5)// 10
||判断
条件付き式で使用されるルールは次のとおりです。
num1 || num2true true true true true false true true true false false
声明で使用されるルールは次のとおりです。
最初の演算子のブール値が真である場合、最初の演算子の値が返され、2番目の演算子はもはや評価されなくなります。
最初の演算子のブール値がfalseの場合、2番目の演算子の値が返されます
||オペレーターは通常、ビジネスコードで条件付き表現判断とフォールトトレランス処理を実行します。データを取得するときにデータを取得できない場合、後続のビジネスコードに影響を与えることができないため、障害の耐性を持つ必要があります。 ||バックアップデータの提供に相当する非常に優れたフォールトトレラントライティング方法です。
var data =未定義|| backup_data; //リクエストにエラーがあり、データが未定義の場合は、バックアップデータに移動しますbackup_data
3目の判断
ルール:
状態 ? expression1:expression2; function absn(xzavier){return xzavier> 0? xzavier:-xzavier;} absn(-123); // 123absn(123); // 123最初の式のブール値が真である場合、2番目の式の値が返されます。そうでなければ、3番目の式の値が返されます。
要約します
上記は、すべての人のためのJavaScriptコードの判断のすべての内容です。この記事の内容がJavaScriptを使用しているすべての人に役立つことを願っています。