メインコンテンツまでスキップ

論理値と論理演算子

論理値

JavaScript で利用できる「」として、これまで文字列数値を扱いました。JavaScript ではこの他に、論理値 と呼ばれる、「正しいか、正しくないか」を表すためのが存在します。

論理値は、true(真)または false(偽)の2つだけです。ダブルクォーテーション " は必要ありません。通常のですので、変数代入したり、計算に使ったりすることができます。

値の種類・論理値付き

論理演算子

論理値に対して適用できる演算子が存在します。

let isMonsterBig = true;
let isMonsterSmall = !true; // false
let isHunterStrong = false;
let shouldEscape = !isHunterStrong && isMonsterBig; // true
let shouldFight = isHunterStrong || isMonsterSmall; // false

詳細は以下の通りです。 ! のみが作用する対象を 1 つしかとらないことに注意してください。

演算子意味詳細
!~ではないtrue ならば falsefalse ならば true
&&かつ両方 true ならば true、どちらか 1 つでも false ならば false
||または両方 false ならば false 、どちらか 1 つでも true ならば true

比較演算子

比較演算子は、複数のを比較して、単一の論理値を得ます。

let age = 15;
let height = 155;
let isFourteen = age === 14; // false
let isNotFourteen = age !== 14; // true
let isChild = age < 20; // true
let 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 で、数値と論理値に比較演算子を適用すると、true1 として、false0 として比較されます。
  • = は代入演算子です。代入演算子評価されると、右辺のになります。