備忘録的プログラミングリファレンス

Boolean 論理値

 Boolean オブジェクトは true と false といった論理値を扱うためのオブジェクトです。true と false に文字列表現「 " 」ダブルクォートや「 ' 」シングルクォートは必要ないです。

var bool_ = true;

 上記のように、右辺で true または false が宣言されると Boolean 型のオブジェクトが生成されます。この値が bool_ に代入されます。

 ここでは主に Boolean クラスについて解説します。

ページ内 Index

Boolean について

 Boolean は true または false といった論理値を扱います。

 論理値の変数は以下のように宣言されます。右辺に true または false があると Boolean 型のオブジェクトが生成され左辺に代入されます。

論理値の変数宣言
var bool_ = true;

 if() や while() における条件式を評価する際と === >= といった比較演算子があると論理値 Boolean として返します。

条件式と Boolean

 if() や while() 文といった条件分岐において、条件式部分の評価は Boolean で返します。

if における条件式
if ( i < 12 ) {
  ...
} else if ( i < 18 ) {	// 先の条件が評価されるのでi >= 12 && i < 18と評価される
  ...
} else {
  ...
}
while における条件式
var tst_txt;
var i = 0;
while( i < 12 ){
  tst_txt += "<br />number:" + i;
  i++;
}

 条件分岐について詳しくは制御構文(Control Flow Statements)ページを参照してください。

比較演算子と Boolean

 論理値 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 の例です。

 確認ボタンをクリックしてみてください。

確認ボタンをクリックしてください。以下のHTML,CSS,Scriptコード例が実行されます。

論理演算子 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。