画像ツール一覧

Boolean

Boolean

アプリ・Web開発

「真 (true)」または「偽 (false)」の2つの値だけを保持するデータ型のこと。条件が成立したかどうかや、機能が有効かどうかを表すために使います。

🐾 猫で例えると?

右手はグーのように丸め、左手は肉球をパーのように広げて2つの異なる状態を同時に表しながら眠る茶トラ
開く・丸める、肉球で見立てる二つの状態

開いた肉球をtrue、丸めた肉球をfalseと決め、二つの状態を記録する例えにします。ただし、一つのBoolean値はどちらか一方です。写真の両手を別々に記録するなら、右手用と左手用の二つの値が必要になります。

🐾 PR

💻 プログラミングにおける「Boolean」とは?

Booleanは真偽を表すための型で、内部の記憶形式や数値の0・1と同じ概念ではありません。条件式にBoolean以外を使えるか、そのとき何を真とみなすかは言語によって異なります。

実務の開発現場では、ユーザーがログインしているかどうか(isLoggedIn)、処理が正常に完了したか(isSuccess)、あるいはチェックボックスが選択されているかといった、「はい」か「いいえ」で答えられるステータスの管理に必ず使用されます。変数の命名に「is」や「has」、「can」といったプレフィックスを付けることで、その変数がBoolean型であることをコードの読み手に一目で伝えるのが開発者の暗黙のルールです。

⚠️ Booleanの仕組みと注意点

Boolean以外の値を条件式に使う場合は、言語ごとの「Truthy(真とみなされる値)」と「Falsy(偽とみなされる値)」の仕様を確認します。純粋なtrue/false以外のデータ型を条件式に評価させた際、言語によって挙動が大きく異なります。

JavaScriptにおけるFalsyな値の罠

例えばJavaScriptでは、数値の「0」、空文字「""」、null、undefined、NaNなどは、Boolean型に変換された際にすべて「false」として扱われます。これを知らないと、数値の0を有効なデータとして処理したいのに、if文の条件式でfalseと判定されてスキップされてしまうといったバグを誘発します。

// JavaScriptでのBoolean評価例
const currentSnackCount = 0;

// 0はFalsy(偽)と判定されるため、このブロックは実行されない
if (currentSnackCount) {
    console.log("おやつを配る処理を実行します。");
}

// 厳密にBooleanとして判定したい場合は、比較演算子を使用する
if (currentSnackCount === 0) {
    console.log("おやつが空なので、リソースの補充が必要です。");
}

比較式は「0かどうか」のように確認したい条件を明確にします。ただし、すでにBooleanの値ならif (isReady)で十分です。何でも=== trueと書き足す必要はありません。

🛠️ Booleanを賢く使うためのポイント

プログラムの可読性を高め、保守性の高いきれいなコードを書くためのBoolean活用ポイントです。

茶トラの肉球のように「グー」か「パー」かハッキリしているうちは良いですが、もし「チョキ」のような第3の状態が見えたら、システム構造を見直すチャンスかもしれません。あなたのコードのフラグも、複雑になりすぎて迷子になっていないか、時々見守ってあげてくださいね。