Mapped types
A mapped type iterates through a set of keys to create a new type.
You can apply a ?
modifier during mapping to make the mapped values optional, or use a -?
to make the mapped value required.
If you are using a more recent version of TypeScript, you can re-map keys in mapped types with an as
clause.
You can also filter out keys by conditionally producing the never
type.
You can map over arbitrary unions, not just string | number | symbol
.
Mapped types can be useful in enforcing compiler guarantees based on the data and constants in your programs.