javascriptの中======違いの詳細

2790 ワード

javascriptの中======の違いを詳しく説明します.今日はプロジェクト開発中に小さな問題を発見しました.n==「」と判断した結果、n=0になるとn==「」もtrueに戻ります.小さな問題ですが、大きな影響を与えているので、深く分析してみることにしました.1、=分配演算子
//

var n=1;

console.log(n);//1

n=n+1;

console.log(n);//2
2、==値比較演算子の値比較演算子が表式の両側のデータタイプと一致しない場合、暗黙的に同じデータタイプに変換され、値を比較します.
//

var a="1";

var b=1;

console.log(a==b);//true

//

var a="";

var b=0;

console.log(a==b);//true;
説明:==値を比較するだけで、データタイプの比較は行われません.両サイドの表現が一致しない場合、暗黙的に同じデータタイプに変換して比較します.したがって、0は論理的なfalse 1であり、論理的なtrue空文字列は論理的なfalse var="です.解析はfalse var b=0のために行います./解析はfalseのためにa=b false=false結果trueです.
 
3、===値の種類比較演算子==式は値の比較だけでなく、データの種類を比較します.タイプが異なる場合は、タイプ変換は行われません.比較時に値を比較する以外に、両方のデータタイプを比較します.これは恒等演算子です.
  //

    var a="1";

    var b=1;

    console.log(a===b);//false

    //

    var a="";

    var b=0;

    console.log(a===b);//false;

    console.log(false===0);//false;

    console.log("1" === 1);//false;
4、==と==は4.1と同じデータタイプで比較した場合=と==は違います.4.2異なるタイプの間で比較すると、==は両方の表現を同じタイプに変換して比較します.