この章のゴール
文字列・数値・真偽値の違いと、型で防げるミスを説明できる。
この章で学ぶこと
申請書にも、入力欄のルールがある
経費申請書には「氏名」「金額」「領収書あり」の欄があります。氏名は文字、金額は数値、領収書の有無は「はい・いいえ」。どの欄も同じ内容を受け付けるわけではありません。
| TypeScriptの型 | 意味 | 経費申請の例 |
|---|---|---|
string | 文字列。引用符で囲んで書く | "交通費"、"1000" |
number | 数値。計算に使う | 1000、1.1 |
boolean | 真偽値。trueかfalse | true(領収書あり) |
コロンの右が「どんな値か」
const applicant: string = "佐藤";
const amount: number = 1200;
const hasReceipt: boolean = true;左から順に読みます。constは名前を付ける宣言、amountは名前、: numberは「数値を扱う」という約束、= 1200は実際の値です。セミコロンは文の区切りとしてよく使われます。
すべての値に型を書く必要はありません。const amount = 1200;でも、TypeScriptは右側の値から数値だと判断できます。これを型推論と呼びます。
体験:金額欄に入れてみる
金額の型をnumberにしたとき、どの値が約束に合うか選んでみましょう。これは考え方を学ぶための簡易シミュレーションです。TypeScriptのコンパイラは実行していません。
const amount: number = ?;
値を選ぶと、型のチェック結果を表示します。
マイナスの金額もnumberです。「金額は0以上」という業務ルールは、この型だけでは保証できません。数値かどうかと、金額として妥当かどうかは、確認する内容が違います。
型があることと、入力を検査することは別
フォームに入力された値や、外部サービスから届くデータが、宣言どおりとは限りません。外から来た値は、実行時に中身を検査する必要があります。文字の数字を数値に変換する処理と、その結果が正しい数値か調べる処理も必要です。
理解を、たしかめよう。
各問の答えを選び、「答え合わせ」を押してください。何度でもやり直せます。
ここまで読めたら、ひと区切り。
理解できたところまでを振り返って、読了を記録しましょう。
記録はこのブラウザに保存されます。