概要
比較演算子について、調べます。
他のプログラム言語と同様に、比較演算子は2つのオペランドの相対的な順序を調べます。
次に4つの演算子である「小なり演算子」「大なり演算子」「小なりイコール演算子」「大なりイコール演算子」について、実際にコードを書いて調べてみます。
<演算子
1番目のオペランドが2番目のオペランドより小さい場合にtrueを返す。
例
[js]
var test1 = 10;
var test2 = 20;
if (test1 < test2) {
console.log("true");
}
//出力結果 true
[/js]
>演算子
1番目のオペランドが2番目のオペランドより大きい場合にtrueを返す。
例
[js]
var test1 = 30;
var test2 = 20;
if (test1 > test2) {
console.log("true");
}
//出力結果 true
[/js]
<=演算子
1番目のオペランドが2番目のオペランドより大きい、または等しい場合にtrueを返す。
例
[js]
var test1 = 40;
var test2 = 30;
if (test1 > test2) {
console.log("true");
}
var test1 = 30;
var test2 = 30;
if (test1 > test2) {
console.log("true");
}
//両方とも、出力結果 true
[/js]
>=演算子
1番目のオペランドが2番目のオペランドより小さい、または等しい場合にtrueを返す。
例
[js]
var test1 = 20;
var test2 = 30;
if (test1 > test2) {
console.log("true");
}
var test1 = 30;
var test2 = 30;
if (test1 > test2) {
console.log("true");
}
//両方とも、出力結果 true
[/js]
型の変換について
比較するタイミングでオペランドの型が違う場合は、型の変換が行われてから変換されます。
変換時のルールは次のようになります。
・オペランドがオブジェクトの場合
基本型に変換される。
・基本型に変換後
両方のオペランドが文字列の場合、この2つの文字列をアルファベット順で比較します。
どちらか片方のオペランドが文字列ではない場合、2つのオペランドは数値に変換されて比較されます。
Infinityは他の数値よりも大きいと判断される。
-Infinityは他の数値よりも大きいと判断される。
NaNの場合は、比較演算子は常にfalseを返します。