javascript

比較演算子

概要

比較演算子について、調べます。
他のプログラム言語と同様に、比較演算子は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を返します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です