TypeScript入門 第3回

TypeScriptの型推論(Type Inference)を理解する

TypeScriptでは必ずしもすべての変数に型を書く必要はありません。

なぜなら TypeScriptには、型推論(Type Inference)という仕組みがあるからです。

型推論とは

TypeScriptが自動的に型を推測してくれる機能

です。

型推論の基本

次のコードを見てください。

let name = "Taro"

この場合

name : string

と TypeScriptが自動で判断します。

つまり次のコードと同じです。

let name: string = "Taro"

型推論のメリット

型推論を使うことで

  • コードが短くなる
  • 可読性が上がる
  • TypeScriptの恩恵はそのまま受けられる

というメリットがあります。

そのため実務では

明らかな型は書かない

ことが多いです。

型推論の例

数値

let age = 30

推論結果

age : number

boolean

let isLogin = true

推論結果

isLogin : boolean

配列

let numbers = [1,2,3]

推論結果

number[]

オブジェクトの型推論

オブジェクトも推論されます。

let user = {
  name: "Taro",
  age: 30
}

推論結果

{
 name: string
 age: number
}

constの場合

constを使うとより厳密な型推論になります。

const name = "Taro"

推論

"Taro"

これは

リテラル型

と呼ばれます。

関数の型推論

関数でも型推論が使われます。

function add(a:number, b:number){
  return a + b
}

TypeScriptは戻り値を

number

と推論します。

つまり

function add(a:number, b:number):number

と同じです。

型推論が効かないケース

次のような場合は型を書く必要があります。

let data

この場合

any

になります。

そのため次のように書く方が安全です。

let data: string

実務でのおすすめスタイル

TypeScriptでは次のルールがよく使われます。

変数

const name = "Taro"

型を書かない(推論)

関数の戻り値

function add(a:number,b:number):number

戻り値は書く

まとめ

TypeScriptの型推論とは

TypeScriptが自動で型を判断する機能

です。

let age = 30

age : number

型推論を理解すると

  • コードがシンプルになる
  • TypeScriptを効率的に書ける

ようになります。

次回は、TypeScriptのinterfaceとtypeの違い

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です