論理値と論理演算子
論理値
JavaScript で利用できる「 値 」として、これまで文字列と 数値 を扱いました。JavaScript ではこの他に、 論理値 と呼ばれる、「正しいか、正しくないか」を表すための 値が存在します。
論理値は、true
(真)または false
(偽)の 2 つだけです。ダブルクォーテーション "
は必要ありません。通常の値ですので、変数に代入したり、計算に使ったりすることができます。
論理演算子
論理値に対して適用できる 演算子が存在します。
const isMonsterBig = true;
const isMonsterSmall = !true; // false
const isHunterStrong = false;
const shouldEscape = !isHunterStrong && isMonsterBig; // true
const shouldFight = isHunterStrong || isMonsterSmall; // false
詳細は以下の通りです。 !
のみが作用する対象を 1 つしかとらないことに注意してください。
演算子 | 意味 | 詳細 |
---|---|---|
! | ~ではない | true ならば false 、false ならば true |
&& | かつ | 両方 true ならば true 、どちらか 1 つでも false ならば false |
|| | または | 両方 false ならば false 、どちらか 1 つでも true ならば true |
比較演算子
比較演算子は、複数の値を比較して、単一の論理値を得ます。
const age = 15;
const height = 155;
const isFourteen = age === 14; // false
const isNotFourteen = age !== 14; // true
const isChild = age < 20; // true
const canRideRollerCoasters = age >= 10 && height >= 140; // true
各演算子の詳細は、次の通りです。
演算子 | 意味 | 詳細 |
---|---|---|
=== | 等しい | |
!== | 等しくない | |
< | 小なり | 左辺が右辺より小さければ true |
<= | 以下 | 左辺が右辺以下ならば true |
> | 大なり | 左辺が右辺より大きければ true |
>= | 以上 | 左辺が右辺以上ならば true |
&&
や ||
よりも比較演算子の方が優先順位が高いため、最後の例のように複数の条件を「かつ」「または」などで組み合わせることは容易です。
課題
次のコードは何を表示するでしょうか。そしてそれはなぜでしょうか。
let takaoHeight = 599;
let everestHeight = 8849;
let fujiHeight = 3776;
document.write(takaoHeight < everestHeight < fujiHeight);
document.write(takaoHeight = everestHeight);
- JavaScript で、数値と論理値に比較演算子を適用すると、
true
は1
として、false
は0
として比較されます。 =
は代入演算子です。代入演算子の式が評価されると、右辺の値になります。