今回はオン、オフを表す「true」「false」についてまとめました。

フラグとは

~Crebitテキストより~
フラグとは、ある条件が「オン」または「オフ」の状態であることを示すための変数です。
プログラムの中で、何かの状態や選択を「記録」する役割を果たします。

たとえば、ユーザーがログインしているかどうかをチェックする際に「ログイン中」というフラグを使うことで、簡単にその状態を管理できます。

具体的には、フラグはtrueまたはfalseの値を持ち、特定の条件が成立していればtrue、成立していなければfalseを設定します。
この値をもとに、プログラムが次にどんな処理を行うかを決定するのです。

trueとfalseについて

値そのものがtrueやfalseと同等に扱われるものがあります。

falseとして扱われるものの値は、以下のものがあります。
 false
 0
 -0
 “”(空文字)
 Null
 Undefined
 NaN

falseそのものは、もちろんfalseとなりますが、0やNull、Undefinedなど、「空である」「未定義である」といったものを、falseとして評価されます。

falseとして扱われるもの以外はtrueです。
数字では0以外はtrueになります。

どんな時に使うの?

フラグは「はい/いいえ」「オン/オフ」「ある/ない」といった二択の状態を管理したいときによく使います。

たとえばこんな場面です。
・ログインしているかどうか
 → isLogin = true / false
・フォームの入力が正しいかどうか
 → isValid = true / false
・ボタンが押されたかどうか
 → isClicked = true / false

フラグがあると、「もし〇〇ならこの処理」「そうでなければ別の処理」といった分岐がとても書きやすくなります。

フラグが複数あるときはどうやって管理する?

実際のプログラムでは、フラグは1つだけでなく複数使うことが多いです。

たとえば、
・isLogin(ログイン中か?)
・isAdmin(管理者か?)
・hasError(エラーがあるか?)
のように、意味が分かりやすい名前を付けるのがポイントです。

flag1 や flag2 のような名前だと、後から見たときに何のフラグか分からなくなってしまいます。

また、フラグが増えてきたら
「このフラグは何を表しているのか?」
をコメントに書いておくと、自分にも他の人にもやさしいコードになります。

まとめ

・フラグは「オン/オフ」「はい/いいえ」を表す変数
・true は「成立している状態」、false は「成立していない状態」
・条件分岐と一緒に使うことで、プログラムの流れをコントロールできる
・フラグ名は意味が分かる名前にすると管理しやすい

最初は少し抽象的に感じますが、
「状態を記録するスイッチ」と思うとイメージしやすいです。
条件分岐(if文など)と一緒にたくさん出てくるので、少しずつ慣れていきたいと思います!

引用文献
超基本を学ぶ JavaScript プログラミングの基本を学びWebサイトを動かす仕組みを理解して表現の幅を広げよう 長江かほり著