假設有一個庫X的鍵入文件,其中包含一些接口。有沒有辦法「提取」TypeScript接口屬性的類型?
interface I1 {
x: any;
}
interface I2 {
y: {
a: I1,
b: I1,
c: I1
}
z: any
}
爲了與此庫,我需要繞過一個對象,它是完全一樣的類型I2.y
的工作。我當然可以在我的源文件創建相同的接口:
interface MyInterface {
a: I1,
b: I1,
c: I1
}
let myVar: MyInterface;
但後來我得到從庫中一個保持它最新的負擔,而且它可以是非常大,導致很多重複的代碼。
因此,有沒有什麼辦法來「提取」這個接口的這個特定屬性的類型?類似於let myVar: typeof I2.y
(它不起作用並導致「無法找到名稱I2」錯誤)。提前致謝。
編輯:在TS操場打了一下後,我發現下面的代碼實現了我想要什麼:
declare var x: I2;
let y: typeof x.y;
然而它需要一個多餘的變量x
聲明。我正在尋找一種方法來實現這個沒有這個聲明。
*哪些行不通* - 如何表現?你看到的實際錯誤信息是什麼? –
@BartekBanachewicz更新 –