JavaScript/Boolean

出典: フリー教科書『ウィキブックス(Wikibooks)』
ナビゲーションに移動 検索に移動

論理学における真理値(しんりち、truth value)または真偽値(しんぎち)、論理値(ろんりち、logical value)とは、命題が「うそ」か「まこと」かを表す2つの値です。たとえば「0は1より小さい」という命題は「まこと」なので、この命題の真偽値は(しん、true)であるといいます。一方、「0は1より大きい」という命題は「うそ」なので、この命題の真偽値は(ぎ、false)であるといいます。

真偽値[編集]

JavaScriptにおける真偽値は、真をtrue、偽をfalseという2つの値で表します。0 < 1(0は1より小さい)という比較結果はtrueであり、0 > 1(0は1より大きい)という比較結果はfalseです。

alert( 0 < 1 ); // true
alert( 0 > 1 ); // false

論理演算子は必ずtrueまたはfalseの真偽値を返します。さらに数値や文字列、関数などあらゆるオブジェクトは、truefalseのいずれかの真偽値に変換することができます。true自身の真偽値はtruefalse自身の真偽値はfalseであると約束します。ほとんどのものはtrueですが、数値の0 (-0) や空文字列 ""NaNnullundefinedなどはfalseです。

Boolean[編集]

BooleanオブジェクトはJavaScriptのプリミティブなブーリアン型をラップします。これはtruefalseが所属するオブジェクトとして便宜上定義されたもので、それ以上の意味はありません。何らかの値をBooleanオブジェクト(真偽値)に変換するには、Booleanオブジェクトのコンストラクタを関数として呼び出します。

var bool = Boolean("0 but true");
alert(bool); // true

あるいは論理否定演算子!を使用することで、値を強制的にBooleanオブジェクトに変換することができます。

var bool = !!"0 but true";
alert(bool); // true

!!の方が簡潔だという人もいれば、Booleanコンストラクタの方がわかりやすいという人もいるでしょう。if文の条件式に渡されたオブジェクトは、自動的に真偽値に変換されます。なお、"0 but true" という文字列はただの文字列であり、特別な意味はありません。

プロパティ[編集]

このページ「JavaScript/Boolean」は、書きかけです。加筆・訂正など、協力いただける皆様の編集を心からお待ちしております。また、ご意見などがありましたら、お気軽にノートへどうぞ。