TypeScript - ボOLEAN: プログラミングにおける真と偽の入門ガイド
こんにちは、未来のプログラミングスーパースター!TypeScriptのボOLEANの魅力に飛び込む準備はできたでしょうか?コードを書いたことがない方も心配しないでください。私たちは最初から一緒にこの旅を始めます。このチュートリアルの終わりまでに、あなたはボOLEANの達人となり、trueとfalseをプログラミングの魔法使いのように操ることができるでしょう!

ボOLEANとは?
本題に入る前に、ボOLEANが実際に何であるかについて話しましょう。プログラミングでは、ボOLEANはtrueまたはfalseの2つの値しか持たないデータ型です。ランプのスイッチのようなものです。オンかオフのいずれかで、中間はありません。
友達に映画に行きたいかを尋ねたとします。彼の答えは「はい」(true)または「いいえ」(false)のいずれかです。これがプログラミングにおけるボOLEANの働きです!
シNTAX: TypeScriptにおけるボOLEANの書き方
TypeScriptでは、trueまたはfalseをタイプするだけでボOLEANを書くことができます。以下は例です:
let isHappy: boolean = true;
let isSad: boolean = false;
このコードでは、isHappyとisSadという2つの変数を作成しています。isHappy変数はtrueに設定され、isSad変数はfalseに設定されています。
タイプ注釈: TypeScriptに期待される型を伝える
前の例で:booleanという部分に注目してみてください。これはタイプ注釈と呼ばれ、箱にラベルを貼って中身を伝えるようなものです。私たちが:booleanと書くとき、TypeScriptに「この変数はボOLEANになる」と伝えています。
以下は別の例です:
let isRaining: boolean;
isRaining = true;
// isRaining = "Yes"; // これはエラーを引き起こします!
この場合、isRainingはボOLEANとして宣言されていますが、まだ値が設定されていません。後でtrueを割り当てるのは問題ありません。しかし、「Yes」という文字列を割り当てようとすると、TypeScriptはエラーをスローします。「Yes」はボOLEAN値ではありません。
TruthyとFalsyの値: 非ボOLEAN値がボOLEANのように振る舞うとき
ここで興味深い部分に移ります!TypeScript(およびJavaScript)では、一部の非ボOLEAN値がボOLEANのように振る舞うことができます。これらの値を「Truthy」と「Falsy」と呼びます。
- Falsy値には以下のものが含まれます:
false、0、''(空の文字列)、null、undefined、NaN。 - それ以外のすべてはTruthyと見なされます。
実際に見てみましょう:
if (1) {
console.log("1はTruthyです!");
}
if ("") {
console.log("これはプリントされません。なぜなら、空の文字列はFalsyだからです。");
}
この例では、最初のif文は1がTruthyであるため実行されますが、二番目のif文は空の文字列がFalsyであるため実行されません。
非ボOLEAN値をボOLEAN値に変換する
時々、非ボOLEAN値をボOLEAN値に変換したい場合があります。以下の2つの方法があります:
-
Boolean()関数を使う:
let num = 5;
let boolValue = Boolean(num);
console.log(boolValue); // 出力: true
- 二重否定演算子(
!!)を使う:
let str = "Hello";
let boolValue = !!str;
console.log(boolValue); // 出力: true
これらの方法は、Truthy値をtrueに、Falsy値をfalseに変換します。
ボOLEAN操作: ボOLEANを結合する
ボOLEANを作成したので、それをどのように操作するか学びましょう。主なボOLEAN操作には以下の3つがあります:
- AND(
&&):両方のオペランドがtrueの場合にtrueを返します。 - OR(
||):少なくとも1つのオペランドがtrueの場合にtrueを返します。 - NOT(
!):ボOLEAN値を反転します。
以下に実際に見てみましょう:
let isAdult = true;
let hasLicense = false;
console.log(isAdult && hasLicense); // false
console.log(isAdult || hasLicense); // true
console.log(!isAdult); // false
この例では、isAdult && hasLicenseはfalseです。なぜなら、isAdultはtrueですがhasLicenseはfalseだからです。isAdult || hasLicenseはtrueです。なぜなら、少なくとも1つ(isAdult)がtrueだからです。!isAdultはfalseです。なぜなら、それがtrueの反対だからです。
条件式におけるボOLEANの使用
ボOLEANはしばしば条件文で使用され、コード内で決定を行います。以下は例です:
let age: number = 20;
let canVote: boolean = age >= 18;
if (canVote) {
console.log("あなたは投票できます!");
} else {
console.log("ごめんなさい、あなたは投票する年齢ではありません。");
}
このコードでは、ageが18以上かどうかをチェックしています。それがtrueの場合、canVoteはtrueになり、その人は投票できます。それでない場合、canVoteはfalseになり、その人は投票できません。
TypeScriptのBooleanとboolean
TypeScriptのコードで時々「Boolean」(大文字のB)を見かけるかもしれません。これはBooleanオブジェクトを指し、私たちが使用してきた原生のboolean型とは異なります。
let primitiveBoolean: boolean = true;
let objectBoolean: Boolean = new Boolean(true);
一般的には、特定の理由がない限り、原生のboolean型を使用することをお勧めします。
ボOLEANプロパティとメソッド
原生のboolean型にはプロパティやメソッドはありませんが、Booleanオブジェクトにはあります。以下にいくつか示します:
| プロパティ/メソッド | 説明 |
|---|---|
Boolean.prototype.toString() |
「true」または「false」を返します |
Boolean.prototype.valueOf() |
Booleanオブジェクトの原生値を返します |
以下に使用例を示します:
let boolObj = new Boolean(true);
console.log(boolObj.toString()); // 出力: "true"
console.log(boolObj.valueOf()); // 出力: true
そしてここまでで、TypeScriptにおけるボOLEANの whirlwind tour( whirlwind tour )が終了しました。ボOLEANはシンプルに見えるかもしれませんが、プログラミングの論理の基盤です。if文やループを使用するたびに、背後でボOLEANを操作しています。
プログラミングの旅を続ける中で、ボOLEANがどこにでも現れることを発見するでしょう。ボOLEANはプログラミングの世界における秘密のエージェントです。小さく、控えめですが、非常に強力です。次回、誰かが「trueかfalseか?」と尋ねたとき、あなたは微笑んで、プログラミングの世界におけるその深い、存在論的な含意を理解していることを知ることができるでしょう。
継続して練習し、好奇心を持ち続け、忘れないでください:ボOLEANの世界では、 Maybe はありません。trueかfalseかのどちらかです。ハッピーコーディング!
Credits: Image by storyset
