2017-07-30 58 views
0

這是我喜歡的類型定義代碼:爲什麼不能使用某些領域和keyof在類型定義

interface Foo { 
    a: string; 
    b: number; 
    c: boolean; 
} 

type Bar = { 
    [prop in keyof Foo]?: number | string; 
}; 

type Bar2 = { 
    id: string; 
    [prop in keyof Foo]?: number | string; 
}; 

Bar定義是好的,但也有一些是錯誤的Bar2,有沒有什麼辦法來解決這個 ?

回答

2

我不知道爲什麼[K in keys]語法不能用經典的按鍵/類型定義混合,但你可以這樣做:

type Bar2 = Bar & { 
    id: string 
} 
相關問題