JavaScriptの比較と論理演算子
比較演算子と論理演算子は、true
または
のテストに使用されfalse
ます。
比較演算子
比較演算子は、変数または値間の同等性または差異を判別するために論理ステートメントで使用されます。
それを前提としてx = 5
、次の表で比較演算子を説明します。
Operator | Description | Comparing | Returns | Try it |
---|---|---|---|---|
== | equal to | x == 8 | false | |
x == 5 | true | |||
x == "5" | true | |||
=== | equal value and equal type | x === 5 | true | |
x === "5" | false | |||
!= | not equal | x != 8 | true | |
!== | not equal value or not equal type | x !== 5 | false | |
x !== "5" | true | |||
x !== 8 | true | |||
> | greater than | x > 8 | false | |
< | less than | x < 8 | true | |
>= | greater than or equal to | x >= 8 | false | |
<= | less than or equal to | x <= 8 | true |
どのように使用できますか
条件ステートメントで比較演算子を使用して、値を比較し、結果に応じてアクションを実行できます。
if (age < 18) text = "Too young to buy alcohol";
このチュートリアルの次の章で、条件ステートメントの使用について詳しく学習します。
論理演算子
論理演算子は、変数または値の間の論理を決定するために使用されます。
x = 6
とが与えられた場合y = 3
、次の表で論理演算子を説明します。
Operator | Description | Example | Try it |
---|---|---|---|
&& | and | (x < 10 && y > 1) is true | |
|| | or | (x == 5 || y == 5) is false | |
! | not | !(x == y) is true |
条件付き(三項)演算子
JavaScriptには、ある条件に基づいて変数に値を割り当てる条件演算子も含まれています。
構文
variablename = (condition) ? value1:value2
例
let voteable = (age < 18) ? "Too young":"Old enough";
変数ageが18未満の値である場合、変数voteableの値は「Tooyoung」になります。それ以外の場合、voteableの値は「Old十分」になります。
異なるタイプの比較
異なるタイプのデータを比較すると、予期しない結果が生じる可能性があります。
文字列を数値と比較する場合、JavaScriptは比較を行うときに文字列を数値に変換します。空の文字列は0に変換されます。数値以外の文字列NaN
は常にに変換されますfalse
。
Case | Value | Try |
---|---|---|
2 < 12 | true | |
2 < "12" | true | |
2 < "John" | false | |
2 > "John" | false | |
2 == "John" | false | |
"2" < "12" | false | |
"2" > "12" | true | |
"2" == "12" | false |
2つの文字列を比較する場合、(アルファベット順で)1は2より小さいため、「2」は「12」より大きくなります。
適切な結果を確保するには、比較する前に変数を適切な型に変換する必要があります。
age = Number(age);
if (isNaN(age)) {
voteable = "Input is not a number";
} else {
voteable = (age < 18) ? "Too young" : "Old enough";
}