型ジェネリクス

Typescriptの型定義をするときに、動的に型を変更したい時があると思います。
そんな時に役立つのがジェネリクス。

一番かんたんな使い方を以下に記載します。

// 引数をそのままconsoleに出力する(型を動的に変える)
const hoge = <T> (arg: T): T => {
    console.log(arg)
}

ただ、これだけだと型定義がゆるすぎる時には、extendsを使用し型に縛りをつけます。

// extendsを使用するとextends以降の型を含むものしかTに入れることができなくなる
type fuga = {
    [hoga: string]: string
}

const hoge = <T extends hoga> (arg: T): T => {
    console.log(arg)
}

<参考>

↓わかりやすい

↓いろいろなパターンが書かれている


この記事が気に入ったらサポートをしてみませんか?