Visit Mozilla.org

Core JavaScript 1.5 Reference:Global Objects:Boolean

出典: MDC


目次

[編集] 概要

Boolean オブジェクトは真偽値のオブジェクト・ラッパです。

[編集] 構文

new Boolean(value)

[編集] 引数

value 
Boolean オブジェクトの初期値。

[編集] 説明

一番目の引数に渡された値は、必要に応じ真偽値に変換されます。値が省略された場合や、値が 0, -0, null, false, NaN, undefined あるいは空文字列 ("") であった場合、オブジェクトは false の初期値を持ちます。それ以外のあらゆる値は、オブジェクトや "false" という文字列も含めて、true の初期値を持つオブジェクトを生成します。

プリミティブな真偽値の true や false を Boolean オブジェクトの true や false という値と混同しないでください。

その値が undefinednull でないオブジェクトは、値が false の Boolean オブジェクトも含めて、条件文に通されると全て true に評価されます。例えば、以下の if 文の条件は true に評価されます。:

x = new Boolean(false);
if (x) {
  // . . . このコードは実行されます。
}

この振る舞いはプリミティブな真偽値には適用されません。例えば、以下の if 文の条件は false に評価されます。:

x = false;
if (x) {
  // . . . このコードは実行されません
}

Boolean オブジェクトを真偽値でない値から真偽値への変換に使わないでください。代わりに、Boolean を関数として使うことで同じことが行えます。:

x = Boolean(expression);     // 推奨
x = new Boolean(expression); // 使わないでください

Boolean オブジェクトの初期値としてオブジェクトを指定した場合、それが値が false の Boolean オブジェクトであっても、新しい Boolean オブジェクトは true の値を持ちます。

myFalse = new Boolean(false);   // 初期値は false
g = new Boolean(myFalse);       // 初期値は true
myString = new String("Hello"); // String オブジェクト
s = new Boolean(myString);      // 初期値は true

プリミティブな真偽値の代わりに Boolean オブジェクトを使わないでください。

[編集] プロパティ

Boolean インスタンスから継承されているプロパティについては、Boolean インスタンスの プロパティ を参照してください

prototype: すべての Boolean オブジェクトに共有されるプロパティを定義します。

Function.prototype から継承されるプロパティ
caller, constructor, length, name

[編集] メソッド

Boolean インスタンスから継承されているメソッドについては、Boolean インスタンスの メソッド を参照してください

グローバル な Boolean オブジェクトは、自分自身のメソッドを持っていませんが、プロトタイプチェーンを通していくつかのメソッドを継承しています。

Function.prototype から継承されるメソッド
apply, call, toSource, toString, valueOf

Object.prototype から継承されるメソッド
__defineGetter__, __defineSetter__, hasOwnProperty, isPrototypeOf, __lookupGetter__, __lookupSetter__, __noSuchMethod__, propertyIsEnumerable, unwatch, watch

[編集] Boolean インスタンス

Boolean インスタンスは、Boolean.prototype を継承します。コンストラクタのプロトタイプオブジェクトを用いて、Boolean インスタンスの全てにプロパティ、もしくは、メソッドを加えることができます。

[編集] プロパティ

constructor
インスタンスのプロトタイプを生成する関数を返します。これは、デフォルトでは、Boolean 関数です。

[編集] メソッド

toSource
Boolean オブジェクトのソースを含む文字列を返します。この文字列を使って同等のオブジェクトを生成することができます。Object.prototype.toSource メソッドを上書きしtています。
toString
オブジェクトの値によって、"true" か "false" のどちらかの文字列を返します。Object.prototype.toString メソッドを上書きしています。
valueOf
Boolean オブジェクトのプリミティブな値を返します。Object.prototype.valueOf メソッドを上書きしています。

Object.prototype から継承されるメソッド
__defineGetter__, __defineSetter__, hasOwnProperty, isPrototypeOf, __lookupGetter__, __lookupSetter__, __noSuchMethod__, propertyIsEnumerable, unwatch, watch

[編集]

[編集] false の初期値を持つ Boolean オブジェクトを生成する

bNoParam = new Boolean();
bZero = new Boolean(0);
bNull = new Boolean(null);
bEmptyString = new Boolean("");
bfalse = new Boolean(false);

[編集] true の初期値を持つ Boolean オブジェクトを生成する

btrue = new Boolean(true);
btrueString = new Boolean("true");
bfalseString = new Boolean("false");
bSuLin = new Boolean("Su Lin");

[編集] 参照