TypeScriptの`infer`を一撃で理解する

準備運動 たとえば「Foo型要素を持つ配列」や「Foo型でfulfillされるPromise」、「Foo型のプロパティ"abc"を持つオブジェクト」の型を定義しようとすると下記のようになる。 type FooArray = Foo[]; type FooPromise = Promise<Foo>; type FooContainer = { abc: Foo }; この記事にたどり着いた人であればここまでは理解できる</foo>…