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);
なのか、( )を使うことで明確にできる。