問題に挑戦!
組み込みの型ユーティリティ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型を返すとよいでしょう。