真偽値と比較演算子

JavaScriptによるプログラミングでは、条件によって処理の内容を変えることができます。

たとえば、日曜日にアクセスがあった場合には『今日は日曜日です』と表示し、それ以外の曜日にアクセスがあった場合には『今日は平日です』などのように条件を判定して、場合分けします。

そのような処理を行いたいときに利用するのが真偽値と比較演算子です。

真偽値とは

真偽値とは命題に対して真(true)または偽(false)のどちらかを返す値のことです。たとえば「1は2より小さい」という命題ならば正しいので「true」となりますが、「1は2より大きい」という命題の場合は間違っているので「false」となります。

JavaScriptには、このtrueかfalseの値を返すデータ型にBoolean型というものがあります。

比較演算子とは

比較演算子とは、2つの値を比較し真偽値を返す演算子のことです。このとき、比較する値は数値に限らず、文字列などを比較することもできます。

比較演算子

比較演算子意味(trueを返す条件)
値1 > 値2左辺が右辺よりも大きい
値1 >= 値2左辺が右辺よりも大きいか等しい
値1 < 値2左辺が右辺よりも小さい
値1 <= 値2左辺が右辺よりも小さいか等しい
値1 == 値2左辺と右辺の値が等しい
値1 === 値2左辺と右辺の値は等しく、型も同じ
値1 != 値2左辺と右辺の値は等しくない

比較演算子を使った例

let name1 = '山田';
let name2 = '山田';

//条件判定1
if(name1 == name2) {
  console.log('同じ名前です');
}

//条件判定2
if(name1 != name2) {
  console.log('同じ名前です');
}

上記の例では、name1とname2に同じ値(文字列)が入れられています。そのため、条件判定1では「==」が使われているので真偽値の値はtrueとなり、if文の命令が実行され「同じ名前です」が出力されます。また、条件判定2では「!=」が使われているので真偽値の値はfalseとなりif文の値は実行されず何も出力されません。

なお、if文は()の中の値がtrueのときに{}の中の命令を実行するものです。そのため、()の中を比較演算子ではなく「true」と入力すると、常にif文の中の命令が実行されます。

「==」と「===」の違い

比較演算子にはイコールが2つの「==」と3つの「===」があります。どちらも、左辺と右辺の値が等しいかどうかを比較するものなのですが、イコールが2つの「==」は値が等しいかどうかを比較するのみですが、イコールが3つの「===」では値が等しいかどうかに加え、型も同じであるかを比較しています。

例として下記のコードを見てください。

let str = '200'; //文字列
let num = 200; //数値

//条件判定1(true)
if(str == num) {
  console.log('2つの値は等しい');
}

//条件判定2(false)
if(str === num) {
  console.log('2つの値は等しい');
}

2つの変数に「200」という値が代入されていますが、変数strの値はシングルクォーテーションで囲まれているので文字列(型)として代入されています。それに対して、変数numのほうはそのまま代入されているので型は数値となります。

そのため、条件判定1では数値のみしか比較されていないのでtrueとなりますが、条件判定2では型も比較しているのでfalseとなり何も出力されません。

検索

MENU

サンプルコード集

Webの基礎知識

coming soon…

  • コンテンツ制作中
PAGE TOP