等価演算
等価演算する時は抽象的な比較(==)と厳密比較(===)の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
大なり、大なりイコール、小なり、小なりイコールが、そのまま比較演算子として使える