招搖-API /招搖-代碼生成生成以下代碼:TS2536:類型 'keyof T2' 不能被用於索引類型 'T1'
private extendObj<T1,T2>(objA: T1, objB: T2) {
for(let key in objB){
if(objB.hasOwnProperty(key)){
objA[key] = objB[key];
}
}
return <T1&T2>objA;
}
編譯時其產生錯誤:
TS2536 :類型'keyof T2'不能用於索引類型'T1'
有人請解釋爲什麼一個對象的關鍵字不能用於訪問另一個對象的關鍵字嗎?是推斷某種特殊類型的關鍵嗎?
什麼是在打字稿中複製對象屬性的正確方法?
如果沒有保證密鑰是相同類型的,我可以看到具有一個問題,因爲編譯器。如果您將'key'的類型指定爲通用類型,會發生什麼? – Carcigenicate
它可以工作,如果另一個keyX被聲明在週期之外。但這很奇怪。如果它抱怨價值,我會承認,但這是關鍵。 – user656449