この動画はメンバー限定動画です
全ての講座が
月額990円で学び放題
TypeScriptには、変数や定数に「型」の概念があるため、例えば同じ「10」という数字に見えるものだとしても、型がString(文字列)型の場合は計算に利用することはできません。しかし、場合によってはどうしても文字列の「10」を計算に使いたいときがあります。
そんな時には「型変換」を行って、数字型に変換しましょう。次のようなプログラムを作成します。
// type_change.ts
const num: string = "10"; // 文字列として定義
const answer: number = num;
このプログラムは「answer」の部分で、型が違うというエラーが表示されてしまいます。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-49-1024x576.png)
なぜなら、「num」という変数は数字の10が代入されているのですが、「string」で定義されているため「文字列」としての「10」という文字が代入されているに過ぎません。
しかし、これをどうしても計算などに利用したいことがあります。そんな時は「型の変換」を行います。次のように変更しましょう。
const num: string = "10"; // 文字列として定義
const answer: number = Number(num);
代入する値を「Number」という記述で囲みました。この時、「N」が大文字になるので気をつけましょう。すると、エラーは表示されなくなります。これで、「10」という文字は数字に変換されて代入されたというわけです。
この、型を変換するための処理は、基本的に各型に準備されています。例えば、逆に数字を文字列に変換したい場合は、次のように「String」を使います。
const message: number = 123; // 数字として定義
const greeting: String(message);
こうして、別の型の変数の値を変換して代入することができます。とはいえ、もちろん正しい値が入っている状態でなければ、変換できません。例えば、次のように元々数字ではない値が代入されている場合は、変換できません。
const num: string = "数字ではありません";
const answer: number = Number(num);
console.log(answer);
この場合、画面には「NaN」と表示されます。
![](https://tomosta.jp/wp-content/uploads/2024/05/image-50-1024x576.png)
これは「Not a Number」の略称で数字をうまく扱えなかったときに表示されるエラーです。あらかじめ変換できる内容であるかを、後述するif構文などを使って検査してから、型を変換しましょう。