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" }