😽
2日目:type-challenges ~Readonly~
Type Challenges で型を勉強していきます。2 日目。
Readonly の問題に挑戦。
解答
type MyReadonly<T> = {
readonly [K in keyof T]: T[K];
};
-
keyof T: オブジェクト型 T のすべてのキーを union 型にする(例:"title" | "description" | "completed") -
[K in keyof T]: そのキーをループして新しいオブジェクト型を作る(Mapped Types) -
readonly: プロパティを読み取り専用にする -
T[K]: 元の T からプロパティ K の型を取り出す(インデックス型アクセス)
Discussion