JavaScriptのBoolean()関数とは?真偽値(true/false)の判定方法を解説
Boolean関数とは
開発を進めていると、「はい/いいえ」のように真偽(yes/no)で判断したい場面に遭遇することがあります。そんなときに活躍するのが Boolean() 関数です。この関数は、引数として受け取った値や式を評価し、その結果を true(真) または false(偽) のどちらか一方のみで返します。
ここでは、Boolean() 関数の基本的な構文から具体的な使用例まで、詳しく解説していきます。
構文
Boolean(exp);
Boolean() 関数は、引数として渡された式を評価し、その式が有効な値を持つかどうかに応じて true または false を返します。
例1:さまざまな値の真偽判定
次の例では、Boolean() 関数を使って、複数の値が true と評価されるかどうかを確認しています。値が有効な値を持っていれば true が返され、そうでなければ false が返されます。
<html>
<body>
<p id = "boolean"></p>
<script>
var a = 0;
document.write(Boolean(a)); /// false を表示
var b = 1;
document.write(Boolean(b)); /// true を表示
var x = Boolean(100);
var y = Boolean("Hello");
var z = Boolean('false');
document.getElementById("boolean").innerHTML =
"45 is " + x + "</br>" +
"a string 'Hello' is " + y + "</br>" +
"a false value is " + z ;
</script>
</body>
</html>出力結果
45 is true a string 'Hello' is true a false value is true false true
この例からわかるように、数値の「0」は false と評価される一方、「1」や「100」などのゼロ以外の数値は true と評価されます。また、文字列 "Hello" や 'false' のような文字列も、空文字列でない限り true と判定される点に注意しましょう。
例2:式の評価による真偽判定
次の例では、Boolean() 関数の中に比較式を渡して、その式が成立するかどうかを判定しています。式が正しい(成立する)場合は true が出力され、そうでなければ false が出力されます。
<html>
<body>
<script>
document.write(Boolean(10 > 5));
document.write("</br>");
document.write(Boolean(1 > 4));
</script>
</body>
</html>出力結果
true false
「10 > 5」は正しい比較なので true が返され、「1 > 4」は誤った比較なので false が返されます。このように、Boolean() 関数は条件式の検証にも簡単に利用できます。
まとめ
Boolean() 関数を使えば、任意の値や式が true か false かを手軽に確認できます。特に、0 や空文字列などの「falsy(偽とみなされる)」な値と、それ以外の「truthy(真とみなされる)」な値の違いを理解しておくことは、JavaScriptでの条件分岐やバリデーション処理において非常に重要です。
-
JavaScriptの関数プロトタイプとは?仕組みと使い方を解説
JavaScriptで作成されたすべての関数には、JavaScriptエンジンによって自動的にprototypeプロパティが追加されます。このprototypeプロパティはオブジェクトであり、デフォルトではconstructorプロパティを含んでいます。関数のプロトタイプには、以下のようにしてアクセスできます。functionName.prototypeコンストラクタ関数を使ってオブジェクトを生成する場合、このprototypeプロパティを活用することで、同じコンストラクタから作成された複数のオブジェクト間でメソッドやプロパティを効率的に共有することができます。これにより、各インスタンスごとに
-
JavaScriptでのメソッド借用:call()・apply()・bind()の使い方を解説
JavaScriptでは、call()、apply()、bind()という3つのメソッドを使うことで、あるオブジェクトが持つメソッドを別のオブジェクトが「借用」できます。これは、本来そのメソッドを持たないオブジェクトに対して、thisの参照先を差し替えてメソッドを実行できる便利なテクニックです。 3つのメソッドの違い call():引数をカンマ区切りで個別に渡し、即座に関数を実行します。 apply():引数を配列(または配列風オブジェクト)として渡し、即座に関数を実行します。 bind():thisを固定した新しい関数を返すだけで、即座には実行されません。返された関数は後から好きなタイミン