【发布时间】:2019-09-06 07:32:50
【问题描述】:
我对 Typescript 中的 Omit 类型有疑问,所以我知道 Omit 类型与 Pick 是相反的,并且是这样构建的:
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
但我不知道如何构造 Omit 类型。我有一个Student 的界面,看起来像这样:
interface Student {
name: string,
surname: string,
age: number,
email: string
}
我需要一个函数,该函数将具有某些给定属性的学生作为输入并输出省略的学生。该函数应如下所示:
let omit_student = <K extends keyof Student>(student: Student, ...props: K[] ): Omit<Student, K> => null!
但我不知道如何动态地省略 Student 中的给定属性以及函数体中应该发生什么。
这样调用函数:omit_student(student1, "name", "age")
应该输出以下类型:
{
surname: string,
email: string
}
【问题讨论】:
-
到目前为止你有什么尝试?
标签: typescript types