JS==和==演算子の比較


等価演算子「=」と厳密等価演算子「==」の比較。   [ネットワークから]
 
一:「=」と「==」の共通点
2つの演算子は、比較のために使用されます.同じ場合true、異なる場合false.比較対象のタイプが違っています.
  • 比較対象は数値or bollanであり、値によって比較される.
  • 比較対象は文字列であり、文字列の長さ、構成などによって比較される.
  • 比較対象は対象であり、数値、関数は、比較対象の参照(reference)によって一致しているか否かである.参照が違っても、値が一致してもfalseです.
  • 二:「==」と「==」が共通しないところ
    2つの違いは、比較する時、自動的に変換したかどうかを比較することです.「=」は自動変換されます.「===」は変換されないので厳密な等価演算子と呼ばれています.
     
    次の例を見てみます.
    //   ,boolean
    alert(1 == true);// true
    alert(0 == false);// true
    alert(1 === true);// false
    alert(0 === false);// false
     
    //   ,   
    var a = 10;
    var b = "10";
    alert(a == b);// true
    alert(a === b);// false
     
    //   
    var a = [1,2,3];
    var b = a;
    alert(a == b);// true
    alert(a == [1,2,3]);// false
     
    //    ,     
    var a = "abc";
    var b = new String("abc");
    alert(a == b);// true
    alert(a === b);// false
     
     
    リボン:
    比較をする時は、タイプを気にせず「=」を使います.厳密にタイプを区別する必要がある場合は、「==」を使います.