1
我正在將Java代碼翻譯成TypeScript,並且遇到了一些我無法理解的東西。 我在這裏創建了對象字面名稱a
,我設法將它用作關聯數組。 然後我定義了類Node
並創建變量名稱n
,當我嘗試將變量n用作關聯數組的關鍵字時,tsc編譯器失敗,出現Illegal property access
。 如果我將n變量轉換爲任何一切正常的類型的kk變量。TypeScript中的類型變量訪問對象文字不起作用
這是爲什麼?
var a = {}
a['a'] = 3
a[4] = 5
class Node {
}
var n:Node = new Node();
a[n] = 44; <---- Illegal property access
var kk: any = n;
a[kk] = 55
我明白了。使用typeof不是答案。我有Node類的getId函數,所以我會使用n.getId()。我想我只是忘了它是JavaScript,因此沒有真正的關聯數組。 –