TypeScript - ボOLEAN: プログラミングにおける真と偽の入門ガイド

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

TypeScript - Boolean

ボOLEANとは?

本題に入る前に、ボOLEANが実際に何であるかについて話しましょう。プログラミングでは、ボOLEANはtrueまたはfalseの2つの値しか持たないデータ型です。ランプのスイッチのようなものです。オンかオフのいずれかで、中間はありません。

友達に映画に行きたいかを尋ねたとします。彼の答えは「はい」(true)または「いいえ」(false)のいずれかです。これがプログラミングにおけるボOLEANの働きです!

シNTAX: TypeScriptにおけるボOLEANの書き方

TypeScriptでは、trueまたはfalseをタイプするだけでボOLEANを書くことができます。以下は例です:

let isHappy: boolean = true;
let isSad: boolean = false;

このコードでは、isHappyisSadという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値には以下のものが含まれます:false0''(空の文字列)、nullundefinedNaN
  • それ以外のすべてはTruthyと見なされます。

実際に見てみましょう:

if (1) {
console.log("1はTruthyです!");
}

if ("") {
console.log("これはプリントされません。なぜなら、空の文字列はFalsyだからです。");
}

この例では、最初のif文は1がTruthyであるため実行されますが、二番目のif文は空の文字列がFalsyであるため実行されません。

非ボOLEAN値をボOLEAN値に変換する

時々、非ボOLEAN値をボOLEAN値に変換したい場合があります。以下の2つの方法があります:

  1. Boolean()関数を使う:
let num = 5;
let boolValue = Boolean(num);
console.log(boolValue); // 出力: true
  1. 二重否定演算子(!!)を使う:
let str = "Hello";
let boolValue = !!str;
console.log(boolValue); // 出力: true

これらの方法は、Truthy値をtrueに、Falsy値をfalseに変換します。

ボOLEAN操作: ボOLEANを結合する

ボOLEANを作成したので、それをどのように操作するか学びましょう。主なボOLEAN操作には以下の3つがあります:

  1. AND(&&):両方のオペランドがtrueの場合にtrueを返します。
  2. OR(||):少なくとも1つのオペランドがtrueの場合にtrueを返します。
  3. NOT(!):ボOLEAN値を反転します。

以下に実際に見てみましょう:

let isAdult = true;
let hasLicense = false;

console.log(isAdult && hasLicense); // false
console.log(isAdult || hasLicense); // true
console.log(!isAdult); // false

この例では、isAdult && hasLicensefalseです。なぜなら、isAdulttrueですがhasLicensefalseだからです。isAdult || hasLicensetrueです。なぜなら、少なくとも1つ(isAdult)がtrueだからです。!isAdultfalseです。なぜなら、それがtrueの反対だからです。

条件式におけるボOLEANの使用

ボOLEANはしばしば条件文で使用され、コード内で決定を行います。以下は例です:

let age: number = 20;
let canVote: boolean = age >= 18;

if (canVote) {
console.log("あなたは投票できます!");
} else {
console.log("ごめんなさい、あなたは投票する年齢ではありません。");
}

このコードでは、ageが18以上かどうかをチェックしています。それがtrueの場合、canVotetrueになり、その人は投票できます。それでない場合、canVotefalseになり、その人は投票できません。

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