15章型演算

Conditionals, maps

With great power over types

comes great confusion

条件型、マップ型

型に対する大いなる力には

大いなる混乱が伴う

……………………………………………………

 

TypeScriptは、型システム内で型を定義するための素晴らしい力を与えてくれます。「10章 ジェネリック」で紹介した論理的な修飾子でさえも、この章で紹介する型演算の機能の強力さに比べると見劣りしてしまいます。この章を読み終えると、型を混ぜ合わせたり、一致させたり、別の型に基づいて変更したりできるようになります。つまり、型システムにおいて型を表現する強力な方法を習得できます。

[警告]

ただし、これらの手の込んだ型の多くは、通常、あまり頻繁に使いたいテクニックではありません。それらが役に立つケースに備えて、理解しておくことには意味がありますが、注意が必要です。使いすぎると、コードが難解になってしまうことがあります。どうぞ楽しんで!

15.1 マップ型

TypeScriptでは、別の型のプロパティに基づいて新しい型を作成するための構文、言い換えれば、ある型を別の型にマップするための構文が用意されています。TypeScriptのマップ型(mapped type)は、別の型を受け取り、その型のそれぞれのプロパティに対して何らかの演算を行う型です。

マップ型は、キーのセットに含まれるそれぞれのキーに対応する新しいプロパティを作成することで、新しい型を作成します。マップ型はインデックスシグネチャと似た構文を使いますが、 ...

Get 初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.