Heim > Fragen und Antworten > Hauptteil
P粉2677913262023-09-06 20:12:26
在 TypeScript 中,当您使用两个或多个类型的交集 & 定义类型时,生成的类型将具有每个交集类型的所有属性。在本例中,PersonSpan 被定义为 Person 和 Lifespan 的交集,因此 PersonSpan 类型的对象必须具有 Person 和 Lifespan 的所有属性。即使 keyof PersonSpan 结果是“name” | 「出生」 | “death”,这并不意味着任何仅具有这些属性之一的对象对 PersonSpan 有效,它意味着您初始化的这个类型 K 是 PersonSpan 属性名称的并集,您可以使用键“name”访问这些属性PersonSpan 类型的对象上的 、“出生”或“死亡”也可能是您正在寻找的 Partial 类型,它使所有 props 都是可选的
let obj: Partial<PersonSpan> = { name: "John Smith" }