true か false かをテストするために、比較演算子と論理演算子を使用します。
比較演算子は、変数や値が等しいか異なるかを判断するため、論理ステートメントの中で使用します。
下の表は、x = 5 とした場合の比較演算を説明しています:
演算子 | 説明 | 比較 | 戻り値 | Try it |
---|---|---|---|---|
== | 等しい | x == 8 | false | Try it » |
x == 5 | true | Try it » | ||
x == "5" | true | Try it » | ||
=== | 値と型が等しい | x === 5 | true | Try it » |
x === "5" | false | Try it » | ||
!= | not equal | x != 8 | true | Try it » |
!== | 値か型が等しくない | x !== 5 | false | Try it » |
x !== "5" | true | Try it » | ||
x !== 8 | true | Try it » | ||
> | より大きい | x > 8 | false | Try it » |
< | より小さい | x < 8 | true | Try it » |
>= | 以上 | x >= 8 | false | Try it » |
<= | 以下 | x <= 8 | true | Try it » |
比較演算子を条件文で使用すると、値を比較し、結果に応じてアクションを実行できます:
if (age < 18) text = "Too young";
このチュートリアルの次の章で、条件文の使用方法について詳しく説明します。
論理演算子は、変数または値間の論理を決定するために使用します。
下の表は、x = 6 および y = 3 とした場合の論理演算子を説明しています:
演算子 | 説明 | 例 | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | Try it » |
|| | or | (x == 5 || y == 5) is false | Try it » |
! | not | !(x == y) is true | Try it » |
JavaScript には、条件に基づいて変数に値を代入する条件演算子も含まれています。
variablename = (condition) ? value1:value2
var
voteable = (age < 18) ? "Too young":"Old enough";
Try it Yourself »
変数 age が 18 歳未満の場合、変数 voteable の値は "Too young"になり、それ以外の場合 voteable の値は "Old enough" になります。
異なる型のデータを比較すると、予期しない結果が生じることがあります。
文字列と数値を比較する場合、JavaScript は比較を行うときに文字列を数値に変換します。 空の文字列は 0 に変換されます。数値以外の文字列は NaN に変換され、常に false になります。
ケース | 値 | Try |
---|---|---|
2 < 12 | true | Try it » |
2 < "12" | true | Try it » |
2 < "John" | false | Try it » |
2 > "John" | false | Try it » |
2 == "John" | false | Try it » |
"2" < "12" | false | Try it » |
"2" > "12" | true | Try it » |
"2" == "12" | false | Try it » |
2つの文字列を比較すると、(アルファベット的には)1 は 2 より小さいため、"2" は "12" より大きくなります。
適切な結果を確実にするためには、比較の前に変数を適切な型に変換する必要があります:
age = Number(age);
if (isNaN(age)) {
voteable = "Error in input";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}
Try it Yourself »
Exercise 1 » Exercise 2 » Exercise 3 » Exercise 4 » Exercise 5 » Exercise 6 »