TypeScript

【TypeScript基本のキ】型注釈と型推論

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型ですね✋」と判断してくれます。

変数userNameの例

関数addは2つの引数に数値を取り、それらを足し合わせる機能を持っています。

2つの引数に数値を取っているので、TypeScriptコンパイラーは「数値と数値を足しているので戻り値はnumber型ですね👍」と判断してくれています。

関数addの例

上記関数の例の場合、引数に型を定義(型注釈)しないとTypeScriptコンパイラーは戻り値の型を推論することはできないためエラーになります。

引数に型を定義していない時エラーになる関数addの例

関数によっては戻り値を推論できないものもあります。
型推論は万能というわけではないことに注意してください。

まとめ

  1. 型注釈とは変数や関数の引数・戻り値に対して型を明記すること
  2. 型推論とは変数や関数の戻り値の型を推測してくれるTypeScriptコンパイラーの機能のこと