小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

JavaScriptの等値演算子『==』と同値演算子『===』

『==』等値演算子は、型に関係なく値が等しいかを見る。
『===』同値演算子は、型も値も等しいかを見る。
オブジェクトの場合は、中身は同じでも参照値が違えば、false。

var aaa = {a : "x", b: "y"};
var bbb = {a : "x", b: "y"};
var ccc = aaa;

alert('{a : "x", b: "y"}の比較(中身は同じで別々の参照値の比較)');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // false 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false 

alert('{a : "x", b: "y"}の比較(中身は同じで同一の参照値の比較)');
aaa == ccc ? alert("aaa == ccc は、ture") : alert("aaa == ccc は、false");   // ture
aaa === ccc ? alert("aaa === ccc は、ture") : alert("aaa === ccc は、false");// ture 

aaa = "123";
bbb = "123";
alert('"123"の比較(文字列の比較)');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// ture 

aaa = "123";
bbb = 123;
alert('"123"と123の比較(文字列と数値の比較)');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false 

aaa = "123";
bbb = new String("123");
alert('文字列とオブジェクトの比較');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");   // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false 

aaa = null;
bbb = undefined;
alert('nullとundefinedの比較');
aaa == bbb ? alert("aaa == bbb は、ture") : alert("aaa == bbb は、false");  // ture 
aaa === bbb ? alert("aaa === bbb は、ture") : alert("aaa === bbb は、false");// false