JavaScriptで論理とif文を扱う

[ 比較演算子 ]

値と値を比較することで真偽値にできる演算子(記号)

表現 入力例 結果
1は2以下 1 <= 2 true
1は2以上 1 >= 2 false
1は2未満 1 < 2 true
1は2より大きい 1 > 2 false
1は2と等しい 1 === 2 false
1は2と異なる 1 !== 2 true
'1' === 1 // false
'1' == 1  // true

'1' !== 1 // true
'1' != 1  // false

文字列と数値は別のデータだが==だと両辺のデータ型が異なる時は勝手に変換して合わせる。特別な意図ががある場合はこれを利用する

[ if文 ]

場合分けをする時はif文を使う

if (a) {
  // 論理式 a の値が真の時に実行したい処理
} else {
  // 論理式 a の値が偽の時に実行したい処理
}

a は変数とする

偽の時に何もしなくて良い場合はelse以降を省略することもできる。

条件が複数ある場合は、下記のようにalse ifを使って論理式の2つ目を書くことができる。

if (a) {
  // 論理式 a の値が真の時に実行したい処理
} else if (b) {
  // 論理式 b の値が真の時に実行したい処理
} else {
  // 論理式の値が偽の時に実行したい処理
}

例 :年齢が20歳以上は「成年」、20歳未満は「未成年」と出力するプログラムで19歳の人が成年かどうか判断してみる。

var age = 19;
var result = null;
if (age >= 20) {
  result = '成年';
} else {
  result = '未成年';
}
document.write(result);

結果、未成年と表示される

null...「値がない」という意味がある特別な値

[ 論理 ]

論理には * Aではない : 否定 * AまたはB : 論理和 * AかつB : 論理積 * AまたはBで、AかつBではない : 排他的論理和

などの表現がある。これらの論理を表す時には論理演算子を使う

--論理演算子--

表現 名称 演算子
Aではない 否定 !
AまたはB 論理和 ||
AかつB 論理積 &&

複雑な論理表現には()を使う

「AまたはBかつCではない」のように否定がどこにかかっているのかわからない場合

A || !(B && C);

なのか

A || (B && !C);

なのか、( )を使うことで明確にできる。