問題に挑戦!
組み込みの型ユーティリティPick<T, K>
を使用せず、T
からK
のプロパティを抽出する型を実装してください。
例えば:
interface Todo {
title: string;
description: string;
completed: boolean;
}
type TodoPreview = MyPick<
Todo,
"title" | "completed"
>;
const todo: TodoPreview = {
title: "Clean room",
completed: false,
};
💡ヒント
Pick<T, K>
において、まずは、[k in keyof K]
を使ってオブジェクトのフィールドとして列挙しましょう。次に、第二引数の型が第一引数の型のオブジェクトのフィールドとして当てはまらない場合は、そのフィールドを無視します。
その場合はnever
型を返すとよいでしょう。