「JavaScript/Boolean」の版間の差分

削除された内容 追加された内容
ページの作成: '''真理値'''(しんりち、''truth value'')または'''真偽値'''(しんぎち)、'''論理値'''(ろんりち、''logical value'') == 真偽値 == 真偽値...
 
編集の要約なし
1 行
[[w:論理学|論理学]]における'''真理値'''(しんりち、''truth value'')または'''真偽値'''(しんぎち)、'''論理値'''(ろんりち、''logical value'')とは、[[w:命題|命題]]が「うそ」か「まこと」かを表す2つの値です。たとえば「0は1より小さい」という命題は「まこと」なので、この命題の真偽値は'''真'''(しん、''true'')であるといいます。一方、「0は1より大きい」という命題は「うそ」なので、この命題の真偽値は'''偽'''(ぎ、''false'')であるといいます。
 
== 真偽値 ==
JavaScriptにおける真偽値は、式が'''''' (を<code>true) であるか'''</code>、''' (を<code>false) </code>という2つの値あるかをす値のことをいいます。たとえば、<code>0 < 1(01</code>(0は1より小さい)という比較結果<code>true</code>す。しかしあり<code>0 > 1(01</code>(0は1より大きい)という比較結果<code>false</code>す。このように、すべての式には真偽値を定義することができます。
 
<source lang="javascript">
9 行
</source>
 
論理演算子は必ず<code>true</code>または<code>false</code>の真偽値を返します。さらに数値や文字列、関数などあらゆるオブジェクトは、<code>true</code>と<code>false</code>のいずれかの真偽値に変換することができます。<code>true</code>自身の真偽値は<code>true</code>、<code>false</code>自身の真偽値は<code>false</code>であると約束します。ほとんどのものは<code>true</code>ですが、数値の<code>0</code> (<code>-0</code>) や空文字列 <code>""</code>、<code>NaN</code>、<code>null</code>、<code>undefined</code>などは<code>false</code>です。
数値の0 (-0)、null、false、NaN、undefinedおよび空文字列 ("") はfalseとして扱われます。それら以外のすべての値はtrueです。
 
<source lang="javascript">
alert( Boolean(0) ); // false
alert( Boolean("0") ); // true
</source>
 
== Booleanオブジェクト ==
BooleanオブジェクトはJavaScriptのプリミティブな真偽値([[w:ブーリアン型|ブーリアン型]]をラップします。Booleanオブジェクトこれ<code>true</code><code>false</code>属するオブジェクトとして便宜上定義されたもので、それ以上の意味はありません。何らかの値をBooleanオブジェクト(真偽値)に変換するには、Booleanオブジェクトのコンストラクタを関数として呼び出します。
 
<source lang="javascript">
24 ⟶ 19行目:
</source>
 
あるいは[[JavaScript/演算子|論理否定NOT演算子]]<code>!</code>を使用することで、値を強制的にBooleanオブジェクトに変換することができます。
 
<source lang="javascript">
31 ⟶ 26行目:
</source>
 
どちらの方法を使って変換するかはきみたちが判断する。<code>!!</code>の方が簡潔だという人もいれば、Booleanコンストラクタの方がわかりやすいという人もいるでしょう。[[JavaScript/制御構造#if|if文]]の条件式に渡されたオブジェクトは、自動的に真偽値に変換されます。なお、<code>"0 but true"</code> という文字列はただの文字列であり、特別な意味はありません。
 
=== プロパティ ===