比較演算(等価、不等価、大なり小なり比較)

等価演算

等価演算する時は抽象的な比較(==)と厳密比較(===)の2種類あり
型まで含めて等しいかを判定する時は厳密比較の(===)を使う。

抽象的な比較演算(等価)

var a=1; b="1";
// 抽象的な比較
document.write((a == 1) + "<br />");		// true
document.write((b == 1) + "<br />");		// true
document.write((a == true) + "<br />");		// true
document.write((b == true) + "<br />");		// true

実行結果

true
true
true
true

あらかじめ型変換をして比較するので予期せぬ結果になる事があるので注意

型を含めた厳密比較演算(等価)

var a=1; b="1";
// 厳密比較
document.write((a === 1) + "<br />");		// true
document.write((b === 1) + "<br />");		// false
document.write((a === true) + "<br />");	// false
document.write((b === true) + "<br />");	// false

実行結果

true
false
false
false

どんな比較結果を望むかに応じて抽象的な比較で良いのか厳密比較にするべきなのか判断しないとね。

不等価演算

不等価演算も等価演算と同じく、抽象的な比較(!=)、厳密比較(!==)の2種類あり
使い分けは等価演算の時と同じ

抽象的な比較演算(不等価)

var a=1; b="1";
// 抽象的な比較
document.write((a != 1) + "<br />");		// false
document.write((b != 1) + "<br />");		// false
document.write((a != true) + "<br />");		// false
document.write((b != true) + "<br />");		// false

実行結果

false
false
false
false

型を含めた厳密比較演算(不等価)

var a=1; b="1";
// 厳密比較
document.write((a !== 1) + "<br />");		// false
document.write((b !== 1) + "<br />");		// true
document.write((a !== true) + "<br />");	// true
document.write((b !== true) + "<br />");	// true

実行結果

false
true
true
true

大なり小なりの比較演算

var a=0;
document.write((a < 0) + "<br />"); // false
document.write((a <= 0) + "<br />"); // true
document.write((a > 0) + "<br />"); // false
document.write((b >= 0) + "<br />"); // true

実行結果

false
true
false
true

大なり、大なりイコール、小なり、小なりイコールが、そのまま比較演算子として使える