JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのブール値(Boolean)とは?基本と使い方を徹底解説

JavaScriptのブール値(Boolean)の使い方

プログラミングの世界では、true(真)かfalse(偽)のどちらかを表す値が至る所で登場します。こうした値は「ブール値(Boolean)」と呼ばれます。ブール値を使えば、2つ以上の値を比較したり、プログラムのどの部分を実行するかを制御したりすることができます。

このガイドでは、ブール値とは何か、そしてその仕組みについて詳しく解説します。具体的なコード例を通じて、JavaScriptのブール値の基本的な使い方をマスターしましょう。

JavaScriptのブール値とは?

ブール値とは、trueまたはfalseのいずれかの値のみを持つデータ型です。

「Boolean」という名前は、数学論理の発展に大きく貢献したイギリスの数学者ジョージ・ブール(George Boole)に由来しています。そのため、英語ではBooleanは常に頭文字が大文字で表記されます。

JavaScriptでは、何らかの値を持つオブジェクトはすべてtrueと評価されます。逆に、値を持たないものはすべてfalseと評価されます。

たとえば、以下の値はすべてtrueと評価されます。

  • 10
  • "Hello"
  • true

一方、null、false、undefined、0、NaN、空文字列("")は、すべてfalseと評価されます。

それでは、JavaScriptでブール値が実際にどのように使われるのかを見ていきましょう!

ブール値を使った比較

比較の結果は、trueかfalseの2通りしかありません。つまり、比較の結果を評価するためにブール値を活用できるのです。

JavaScriptでは、比較演算子を使って2つの値を比較します。主な比較演算子は以下の通りです。

  • ==:等しい
  • !=:等しくない
  • >:より大きい
  • <:より小さい
  • <=:以下
  • >=:以上

なお、<=や>=のように記号が2つ続く演算子を使う場合は、記号の並び順に注意してください。順序を入れ替えてしまうと、JavaScriptはコードを正しく解釈できません。

ここで、高校のクラスにいる2人の生徒の年齢を評価するプログラムを作成してみましょう。まず、生徒のAlexがLisaより年上かどうかを確認します。

var lisa = 15;
var alex = 16;

console.log(alex > lisa);

このコードは「true」を返します。

Alexは16歳、Lisaは15歳です。つまり、AlexはLisaより年上だということがわかります。このように、任意の比較演算子を使って2つの変数を比較できます。次に、AlexがPaulと同い年かどうかを確認してみましょう。

var paul = 16;
var alex = 16;

console.log(alex == paul);

このコードは、「alex」の値が「paul」の値と等しいかどうかをチェックします。2人とも16歳なので、実行結果は「true」になります。

数値だけでなく、文字列もブール値を使って評価できます。

今月の優等生リストにLisaの名前があるかどうかを確認してみましょう。

var honor_roll = "Alex";
var student = "Lisa";

console.log(honor_roll == student);

このコードは「false」を返します。「honor_roll」の値と「student」の値が等しいかどうかを比較していますが、優等生はAlexであるため、2つの文字列は一致せずfalseが返されます。もしLisaが優等生であれば、trueが返されるでしょう。

さらに、この比較の結果をブール値の変数に代入することもできます。

var is_honor_roll_student = (honor_roll == student);
console.log(is_honor_roll_student);

このコードは先ほどと同じ比較を行い、その結果(この場合はfalse)を変数「is_honor_roll_student」に格納します。その後、変数の値をコンソールに出力しています。このように、比較結果を変数に保存しておけば、後から再利用することも可能です。

論理演算子とブール値の組み合わせ

論理演算子は、通常2つ以上の式を組み合わせて評価するために使用されます。「複数の条件がすべてtrueか」「いずれか1つがtrueか」「1つ以上がfalseか」といった判定が可能です。

ブール値と組み合わせて使える論理演算子は、次の3つです。

  • &&:AND(〜かつ〜)
  • ||:OR(〜または〜)
  • !:NOT(否定)

それでは、オンラインストアで新しいコンピューターゲームを購入できるかどうかをチェックするプログラムを作成してみましょう。まず、顧客のアカウントに十分なギフトカード残高があるか、または支払いに使えるクレジットカードが登録されているかを確認します。

var gift_card_balance = 25.00;
var cost = 30.00;
var card = true;

console.log((gift_card_balance >= cost) || (card == true));

このコードは「true」を返します。

顧客のギフトカード残高(25ドル)はゲームの価格(30ドル)に足りていませんが、アカウントにはカードが登録されています。OR演算子(||)では、指定した2つの式のうち1つでもtrueであれば全体がtrueと評価されるため、この式の結果はtrueになるのです。

次に、購入しようとしているゲームが18歳対象だった場合を考えてみましょう。顧客が18歳以上であり、かつ購入資金が十分にあるかどうかを確認します。

var age = 19;
var enough_money = true;

console.log((enough_money == true) && (age >= 18));

このコードは「true」を返します。AND演算子(&&)を使うと、両方の条件が満たされた場合にのみtrueが返されます。今回は年齢も資金も条件を満たしているため、結果はtrueです。

また、NOT演算子(!)を使えば、式がfalseかどうかを反転して確認できます。顧客が以前にゲームを購入したことがあるかどうかを見てみましょう。

var purchases = 1;
var purchased_before = !(purchases == 0);

console.log(purchased_before);

このコードは、顧客の購入回数が0回かどうかをチェックし、NOT演算子(!)でその結果を反転させています。つまり、購入履歴が1回以上あれば「purchases == 0」はfalseになり、それが反転されてtrueが返されます。

if文でのブール値の活用

ブール値の最も重要な役割のひとつが、プログラムの流れ(フロー)の制御です。ブール値を使えば、特定のコードブロックを実行するかどうかを判断できます。

次のコードスニペットは、ギフトカードの残高がゲームの購入に十分かどうかに応じて、異なるメッセージを出力します。

var balance = 25.00;
var cost = 30.00;

if (balance >= cost) {
	console.log("This gift card has enough money.");
} else {
	console.log("This gift card has an insufficient balance.");
}

このコードは「This gift card has an insufficient balance.(このギフトカードの残高は不足しています)」と出力します。

コードでは、顧客の残高がゲームの価格以上かどうかを評価しています。条件がtrueであればif文の中のコードが実行され、falseであればelse文の中のコードが実行される仕組みです。

では、「balance」の値を32.50ドルに変更するとどうなるでしょうか。

var balance = 32.50;
...

今度は「This gift card has enough money.(このギフトカードには十分な残高があります)」と出力されます。このように、条件式の評価結果によってプログラムの動作を切り替えられるのが、if文とブール値の強力な組み合わせです。

まとめ

ブール値は、trueまたはfalseの値を格納できるデータ型です。ブール値は、式がtrueかfalseかを評価する場面で頻繁に使われます。比較演算子や論理演算子と組み合わせるほか、if文と併用すれば、式の評価結果に応じて実行するコードブロックを柔軟に制御することもできます。

これで、あなたもプロの開発者のようにJavaScriptのブール値を使いこなす準備が整いました!

  1. JavaScriptのappendChild()メソッド徹底解説!基本的な使い方と実践例

    JavaScriptのappendChild()メソッドは、親ノードの末尾に新しい要素を追加するためのメソッドです。特に、<ul>や<ol>などのリストに<li>項目を動的に追加する場面でよく使われます。複数の項目を追加したい場合は、appendChild()を必要な回数だけ呼び出すことになります。 JavaScriptのappendChild()とは? Webページにはテキストのリスト、画像のリスト、カスタム要素のリストなど、さまざまなリストがあふれています。通常、リストを作成するときはHTMLで直接記述しますが、appendChild()メソッドを使

  2. JavaScriptのBoolean()関数とは?真偽値(true/false)の判定方法を解説

    Boolean関数とは開発を進めていると、「はい/いいえ」のように真偽(yes/no)で判断したい場面に遭遇することがあります。そんなときに活躍するのが Boolean() 関数です。この関数は、引数として受け取った値や式を評価し、その結果を true(真) または false(偽) のどちらか一方のみで返します。ここでは、Boolean() 関数の基本的な構文から具体的な使用例まで、詳しく解説していきます。構文Boolean(exp);Boolean() 関数は、引数として渡された式を評価し、その式が有効な値を持つかどうかに応じて true または false を返します。例1:さまざまな値