mosya Type Challenges

問題に挑戦!

組み込みの型ユーティリティ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,
};
引用元

この問題はType Challengesの以下の問題を記載したものです。

💡ヒント

Pick<T, K>において、まずは、[k in keyof K]を使ってオブジェクトのフィールドとして列挙しましょう。次に、第二引数の型が第一引数の型のオブジェクトのフィールドとして当てはまらない場合は、そのフィールドを無視します。
その場合はnever型を返すとよいでしょう。

🙌 解説はこちら