使用IDS
将符号声明为对象的键时,例如:
dfb
let s = Symbol()
的类型将自动变为let a = { [s]:1 }
,而在尝试像a
这样建立索引时会出错:
类型'symbol'不能用作索引类型(2538)
在使用{[x:string]:number}
声明的同时,a[s]
也可以正常工作。
答案 0 :(得分:5)
这是一个非常老的问题。参见https://github.com/microsoft/TypeScript/issues/1863和https://github.com/Microsoft/TypeScript/issues/24587。
对后者的一个奇怪的评论是
在我看来,您似乎发现了一个案例,他们没有在2.9版中修复或从那时起恢复原状...