我正在将 Java 代码翻译成 TypeScript,但我遇到了一些我无法理解的东西。我在这里创建了对象文字名称a
,并设法将其用作关联数组。然后我定义了类Node
并创建了变量名n
,当我尝试使用变量 n 作为关联数组的键时,tsc 编译器失败Illegal property access
。如果我将 n 变量转换为 kk 类型的变量,则一切正常。
这是为什么?
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