Boolean 論理値
Boolean オブジェクトは true と false といった論理値を扱うためのオブジェクトです。
true と false に文字列表現のためのダブルクォート「 " 」やシングルクォート「 ' 」は必要ないです。
上記の代入式ように、右辺で true または false が宣言されると Boolean 型のオブジェクトが生成されます。変数には Boolean 型の値が代入されます。
上記の例でいえば、Boolean 型に生成された bool_ という変数に true 値が代入されます。
ここでは主に Boolean クラスについて解説します。
Boolean について
Boolean は true または false といった論理値を扱います。
論理値の変数は以下のように宣言されます。右辺に true または false があると Boolean 型のオブジェクトが生成され左辺に代入されます。
また、if() や while() における条件式を評価する際と ===
や >=
といった比較演算子があると論理値 Boolean として返します。
条件式と Boolean
if() や while() 文といった条件分岐において、条件式部分の評価は Boolean で返しています。
例えば以下の例では
やi < 12
といった比較において論理値( Boolean )が返され、その値を元に条件分岐を行っています。i < 18
条件分岐について詳しくは制御構文(Control Flow Statements)
ページを参照してください。
偽とみなされる値
Boolean には偽とみなされる値と真とみなされる値があります。
偽とみなされる値には以下があります。
- 0
- false
- undefined(初期値:値がない)
- null(値がない)
- NaN(数値でない)
- ''(空文字)
これ以外のオブジェクト、配列、数値、文字列のみは真とみなされます。
Boolean クラス
Boolean クラスは true または false といった論理値を扱うためのオブジェクトを生成するための定義です。Boolean オブジェクトの元になるものです。
Boolean クラスは以下のようなコンストラクターを持ちますが利用する機会はほぼないです。引数は比較対象です。
コンストラクター Boolean() の引数は比較対象ではなく、オブジェクト、配列、文字列のみである場合はすべて true になります。
ただし、偽とみなされる値 undefined、null、false、0、NaN、''(空文字) はエラーになります。
プロパティ(Property)
Boolean クラスに独自のプロパティはありません。
メソッド(Method)
数値を文字列に変換するには、.toString()
メソッドを使用します。
また、true または false のみを取り出すには.valueOf()
メソッドを使用します。
メソッド | 概要 |
---|---|
.toString() | 数値を文字列に変換 |
.valueOf() | Boolean オブジェクトをプリミティブ値として返す |
Example
Boolean型 の例です。
比較演算子による論理値( Boolean )がどのようになるかを確かめています。演算子の例ごとに true または false で表示されます。
確認
ボタンをクリックしてみてください。
論理演算子 AND、OR、NOT
論理値のみを評価する論理積(AND)、論理和(OR)、論理否定(NOT)といった論理演算子があります。
2つの値から、論理積(AND)、論理和(OR)、論理否定(NOT)を計算します。
複数を連結でき、優先順位がある(NOT→AND→OR?)。
論理演算子 | 概要 |
---|---|
&& | 論理積(AND) |
|| | 論理和(OR) |
! | 論理否定(NOT) |
論理積(AND)は1*1=1,1*0=0,0*1=0,0*0=0、どちらもtrueでtrue。論理和(OR)は1+1=1,1+0=1,0+1=1,0+0=0、どちらかtrueでtrue。