プログラミングを学び始めると、よく出てくるのが「比較演算子」。数値や文字列を比較する際に利用するのですが、初めて聞いた方はなにがなんだかよくわかりませんよね。
今回は、Javascriptで比較演算子を利用して、数値や文字列を比較する方法をご紹介します。また、比較演算子以外にも「Math.max」および「Math.min」メソッドを利用して数値を比較する方法もあわせてご紹介します。
目次
「比較演算子」とは
比較演算子とは、その名の通りではありますが、数値や文字列を比較する特殊な意味を持つ記号のことです。
Javascriptで利用可能な比較演算子には、等価演算子と関係演算子の2種類があり、それぞれ以下の表のような関係があります。
名称をみると漢字が使われていて難しそうですが、記号とその意味を覚えることができれば大丈夫です。
種類 | 名称 | 記号 | 意味 |
等価演算子 | 等価 | == | 左辺と右辺の値が一致 |
不等価 | != | 左辺と右辺の値が不一致 | |
厳密等価 | === | 左辺と右辺の値と型が一致 | |
厳密不等価 | !== | 左辺と右辺の値と方が不一致 | |
関係演算子 | 大なり | > | 左辺の値が右辺の値よりも大きい |
大なりイコール | >= | 左辺の値が右辺の値と同じか大きい | |
小なり | < | 左辺の値が右辺の値よりも小さい | |
小なりイコール | <= | 左辺の値が右辺の値と同じか小さい |
どの演算子を利用した場合においても、比較の結果、上記の表「意味」列の条件を満たす場合にはTrue、満たさない場合にはFalseが返ってきます。
基本的な利用方法として、if文の条件式として記述し次に行うべき処理を判断させます。
それでは、ここからはコードサンプルをみながら実際どのように比較演算子を利用するのか、サンプルコードをみながら学びましょう。
Javascriptの等価演算子(== / != / === / !==)を利用した数値の比較
等価演算子は比較したい2つの値が一致するかどうかをチェックしたいときに使います。
数学では「=」(イコール)を1つだけ使いますが、Javascriptでは「==」や「===」のように2つか3つ「=」記号を重ねて使い、それぞれで意味合いが異なります。
等価(==)
等価記号「==」は、左辺と右辺の値が一致するかどうかをチェックするときに使います。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 == 値2 |
サンプル
1 2 3 4 5 6 7 8 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 == num2; //True (1 == 1) num1 == num3; //False (1 == 5) 1 == 1; //True 1 == '1'; //True |
「1 == ‘1’」のように左辺を文字列として指定し、数値と文字列で比較しても同じ値であると判定されます。
不等価(!=)
不等価記号「!=」は、左辺と右辺の値が不一致であるかどうかをチェックするときに使います。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 != 値2 |
サンプル
1 2 3 4 5 6 7 8 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 != num2; //False (1 != 1) num1 != num3; //True (1 != 5) 1 != 1; //False 1 != '1'; //False |
厳密等価(===)
厳密等価記号「===」は、左辺と右辺の型と値が一致するかどうかをチェックするときに使います。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 === 値2 |
サンプル
1 2 3 4 5 6 7 8 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 === num2; //True (1 === 1) num1 === num3; //False (1 === 5) 1 === 1; //True 1 === '1'; //False |
「1 === ‘1’」は値が一致していますが型が整数型と文字列型で異なるので、Falseが返ります。
厳密不等価(!==)
厳密不等価記号「!==」は、左辺と右辺の型と値が不一致であるかどうかをチェックするときに使います。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 !== 値2 |
サンプル
1 2 3 4 5 6 7 8 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 !== num2; //False (1 !== 1) num1 !== num3; //True (1 !== 5) 1 !== 1; //False 1 !== '1'; //True |
Javascriptの関係演算子(> / >= / < / <=)を利用した数値の比較
関係演算子は2つの値から大小を比較したいときに使用します。
等価記号のように同じ記号を複数重ねる必要はありませんが、数学の授業で習った「≧」記号は「>=」のように2つの文字で表します。
大なり
大なり記号「>」は、左辺の値が右辺の値よりも大きいかどうかをチェックするときに使います。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 > 値2 |
サンプル
1 2 3 4 5 6 7 8 9 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 > num2; //False (1 > 1) num1 > num3; //False (1 > 5) 1 > 1; //False 1 > '1'; //False 10 > 1; //True |
大なりイコール
大なりイコール記号「>=」は、左辺の値が右辺の値以上かどうかをチェックするときに使います。大なり記号と異なる点として、左辺と右辺の値が一致している場合にもTrueが返ります。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 >= 値2 |
サンプル
1 2 3 4 5 6 7 8 9 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 >= num2; //True (1 >= 1) num1 >= num3; //False (1 >= 5) 1 >= 1; //True 1 >= '1'; //True 10 >= 1; //True |
左辺と右辺が同じ値の場合もTrueが返っていますね。
小なり
小なり記号「<」は、左辺の値が右辺の値よりも小さいかどうかをチェックするときに使います。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 < 値2 |
サンプル
1 2 3 4 5 6 7 8 9 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 < num2; //False (1 < 1) num1 < num3; //True (1 < 5) 1 < 1; //False 1 < '1'; //False 10 < 1; //False |
小なりイコール
小なりイコール記号「<=」は、左辺の値が右辺の値以下かどうかをチェックするときに使います。小なり記号とコナル点として、左辺と右辺の値が一致している場合にもTrueが返ります。
構文と実例サンプルは以下の通りです。
構文
1 |
値1 <= 値2 |
サンプル
1 2 3 4 5 6 7 8 9 |
var num1 = 1; var num2 = 1; var num3 = 5; num1 <= num2; //True (1 <= 1) num1 <= num3; //True (1 <= 5) 1 <= 1; //True 1 <= '1'; //True 10 <= 1; //False |
JavascriptのMath.max / Math.minメソッドを利用した比較
それでは最後に、比較演算子を利用せずに数値を比較する方法として、Mathメソッドを利用した数値の比較方法をご紹介します。
Math.maxメソッド
Math.maxメソッドは、複数の数値を比較して最大の値を返します。
構文と実例サンプルは以下の通りです。
構文
1 |
Math.max(値1,値2,値3,...) |
サンプル
1 2 3 4 5 6 |
var num1 = 1; var num2 = 2; var num3 = 5; Math.max(num1, num2, num3); //5 Math.max(10, 1, 100); //100 |
Math.minメソッド
Math.minメソッドは、複数の数値を比較して最小の値を返します。
構文と実例サンプルは以下の通りです。
構文
1 |
Math.min(値1,値2,値3,...) |
サンプル
1 2 3 4 5 6 |
var num1 = 1; var num2 = 2; var num3 = 5; Math.min(num1, num2, num3); //1 Math.min(10, 1, 100); //1 |
一度に複数の値を比較したい際に便利ですね。
まとめ
いかがでしたでしょうか?
今回は、Javascriptで比較演算子やMath.max、Math.minメソッドを利用して、数値を比較する方法をご紹介しました。
数値だけでなく文字列も比較することができますが、厳密等価を利用して比較する際には型の扱い方に注意しましょう。
ぜひ参考にしてみてくださいね。