Hello World🌍
TypeScriptの基本である型注釈と型推論という概念について紹介します。
型注釈とは?
型を明記することを型注釈といいます。型アノテーションとも呼ばれます。
以下のコードでは変数や関数の引数・戻り値に型を明記し、型注釈を行なっています。
// string型の値を持つ変数
let userName: string = 'Posipan';
// 引数・戻り値がnumber型の関数
function add(a: number, b: number): number {
return a + b;
}
console.log(add(5, 3)); // 8
型推論とは?
型を明記せずとも、変数や関数の戻り値の型を推測してくれるTypeScriptコンパイラーの機能のことです。
先程の型注釈のコードは型推論によって以下のように書き換えることができます。
変数userNameに明記していたstringを削除、関数addに明記していたnumberを削除しています。
// string型の変数
let userName = 'Posipan';
// 関数の引数・戻り値がnumber型
function add(a: number, b: number) {
return a + b;
}
console.log(add(5, 3)); // 8
変数userNameには文字列が入っていますのでTypeScriptコンパイラーは「値が文字列なのでstring型ですね✋」と判断してくれます。
関数addは2つの引数に数値を取り、それらを足し合わせる機能を持っています。
2つの引数に数値を取っているので、TypeScriptコンパイラーは「数値と数値を足しているので戻り値はnumber型ですね👍」と判断してくれています。
上記関数の例の場合、引数に型を定義(型注釈)しないとTypeScriptコンパイラーは戻り値の型を推論することはできないためエラーになります。
関数によっては戻り値を推論できないものもあります。
型推論は万能というわけではないことに注意してください。
まとめ
- 型注釈とは変数や関数の引数・戻り値に対して型を明記すること
- 型推論とは変数や関数の戻り値の型を推測してくれるTypeScriptコンパイラーの機能のこと