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