浏览 54
扫码
NonNullable 是 TypeScript 中的一个工具类型,它用于从给定类型中排除 null 和 undefined。
示例:
type MyType = string | null | undefined;
type NonNullableType = NonNullable<MyType>; // 等同于 type NonNullableType = string
在上面的示例中,我们定义了一个类型 MyType,它可以是 string、null 或 undefined 中的一种。然后我们使用 NonNullable 工具类型来创建一个新的类型 NonNullableType,该类型排除了 null 和 undefined,因此它只能是 string 类型。
另一个示例:
type User = {
name: string;
age?: number;
}
type NonNullableUser = {
[K in keyof User]-?: NonNullable<User[K]>
}
在这个示例中,我们定义了一个 User 类型,它有一个 name 属性和一个可选的 age 属性。然后我们使用 NonNullable 工具类型来创建一个新的类型 NonNullableUser,该类型将 User 类型中的所有属性转换为 NonNullable 类型。在这种情况下,age 属性变为必填属性,因为它排除了 null 和 undefined。
总结一下,NonNullable 工具类型用于从给定类型中排除 null 和 undefined,使得新类型只能是原类型的非空值。