Boolean 論理値
Boolean オブジェクトは true と false といった論理値を扱うためのオブジェクトです。true と false に文字列表現「 " 」ダブルクォートや「 ' 」シングルクォートは必要ないです。
var bool_ = true;
上記のように、右辺で true または false が宣言されると Boolean 型のオブジェクトが生成されます。この値が bool_ に代入されます。
ここでは主に Boolean クラスについて解説します。
Boolean について
Boolean は true または false といった論理値を扱います。
論理値の変数は以下のように宣言されます。右辺に true または false があると Boolean 型のオブジェクトが生成され左辺に代入されます。
var bool_ = true;
if() や while() における条件式を評価する際と ===
や >=
といった比較演算子があると論理値 Boolean として返します。
条件式と Boolean
if() や while() 文といった条件分岐において、条件式部分の評価は Boolean で返します。
if ( i < 12 ) {
...
} else if ( i < 18 ) { // 先の条件が評価されるのでi >= 12 && i < 18と評価される
...
} else {
...
}
var tst_txt;
var i = 0;
while( i < 12 ){
tst_txt += "<br />number:" + i;
i++;
}
条件分岐について詳しくは制御構文(Control Flow Statements)
ページを参照してください。
比較演算子と Boolean
論理値 Boolean は特殊で、比較演算子が使用されていると Boolean オブジェクトが返ります。
console.log(1 === 1); // true console.log(1 !== 1); // false console.log(1 < 2); // true console.log(1 >= 2); // false
偽とみなされる値
Boolean には偽とみなされる値と真とみなされる値があります。
偽とみなされる値には以下があります。
- 0
- false
- undefined(初期値:値がない)
- null(値がない)
- NaN(数値でない)
- ''(空文字)
これ以外のオブジェクト、配列、数値、文字列のみは真とみなされます。
if(undefined)..; // false if(0)..; // false if(false)..; // false if("example")..; // true
Boolean クラス
Boolean クラスは true または false といった論理値を扱うためのオブジェクトを生成するための定義です。Boolean オブジェクトの元になるものです。
Boolean クラスは以下のようなコンストラクターを持ちますが利用する機会はほぼないです。引数は比較対象です。
let object_bool = new Boolean( a === 1 );
コンストラクター Boolean() の引数は比較対象ではなく、オブジェクト、配列、文字列のみである場合はすべて true になります。
let bool_ = new Boolean( "example" ); // bool_ は true になる let bool_ = new Boolean( false ); // bool_ は true になる
ただし、偽とみなされる値 undefined、null、false、0、NaN、'' はエラーになります。
プロパティ(Property)
Boolean クラスに独自のプロパティはありません。
メソッド(Method)
数値を文字列に変換するには、.toString()
メソッドを使用します。
また、true または false のみを取り出すには.valueOf()
メソッドを使用します。
メソッド | 概要 |
---|---|
.toString() | 数値を文字列に変換 |
.valueOf() | Boolean オブジェクトをプリミティブ値として返す |
Example
Boolean の例です。
確認
ボタンをクリックしてみてください。
論理演算子 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。