Mapped Types とは TypeScript 2.1のkeyofとかMapped typesがアツい - Qiita TypeScriptのIndex typesと Mapped typesを使ってJavaScriptライブラリをIDEで補完する - Qiita 詳しいことは他の方々が記事にされているので割愛します。 簡単に言えば、リテラル型の和集合から取りうるリテラルをプロパティとして持つオブジェクトの型を作る 機能です。 Mapped Types の隠された力 隠し機能というわけではないのですが、「Mapped Types は Union Type でない純粋なリテラル型に対しても機能する」というのは地味に盲点ではないでしょうか。以下の関数定義を見てみましょう。 T extends string なので、Mapped Types の例でありがちな 'x' | 'y' | 'z'
![[TypeScript] Mapped Types が持つ隠された力とは…… - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/cbc1f0f7d57c0fbd7dc87d81bc07542c36a83eff/height=288;version=1;width=512/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fqiita-fb-2887e7b4aad86fd8c25cea84846f2236.png)