Java コードを TypeScript に変換していて、理解できないものに遭遇しました。ここでオブジェクト リテラル名を作成しa
、それを連想配列として使用することができました。次に、クラスを定義Node
して変数 name を作成しまし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