老师,对于泛型约束,这里不太理解
来源:7-6 在 Vue3 源码深刻掌握泛型约束

Lanny_Chung
2023-08-25
type ObjectType = {name: string; age: number}; type ObjectKeyType<T extends ObjectType, K> = K extends keyof T ? K : never; type TestObjKeyType01 = ObjectKeyType<ObjectType, "name">; // name type TestObjKeyType02 = ObjectKeyType<ObjectType, "age">; // age type TestObjKeyType03 = ObjectKeyType<ObjectType, "name" | "age" | "fasdf">;// name | age
这里01是 name ,02 是age,03为什么不是name | age | never,而是 name | age呢
写回答
1回答
-
当其他类型和 never 类型 联合时,会忽略 never 类型 例如 :type K=string|never 等同于 type K=string
012023-08-25
相似问题