なつねこメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ

書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

2019/08/07

TypeScript で文字列パラメータから型を得たい

カテゴリー:

どういうことかと言われると、こんな感じ。

  • ある関数 A はパラメータに指定された文字列によって返すクラスが異なる
  • 上記関数 A を良い感じに型付けしたい

自分にはこんな感じの型定義しか思いつかなかった。

class ClassA { ... }
class ClassB { ... }
 
type Container = {
  ClassA: ClassA;
  ClassB: ClassB;
}
 
declare function inject<T extends keyof Container>(name: T): Container[T];

これで、こんな感じで型を得ることが出来る。

f:id:MikazukiFuyuno:20190807005013p:plain

ということでメモでした。

Copyright (c) 2015 - 2023 Natsuneko <me@natsuneko.cat>