最佳答案
我希望 MyInterface.dic
像字典 name: value
一样,我对它的定义如下:
interface MyInterface {
dic: { [name: string]: number }
}
现在我创建一个等待类型的函数:
function foo(a: MyInterface) {
...
}
输入:
let o = {
dic: {
'a': 3,
'b': 5
}
}
我希望 foo(o)
是正确的,但编译器正在下降:
foo(o) // TypeScript error: Index signature is missing in type { 'a': number, 'b': number }
我知道有一个可能的类型转换: let o: MyInterface = { ... }
做的把戏,但 为什么是字体脚本不识别我的类型?
附加: 如果 o
声明为内联,则可以正常工作:
foo({
dic: {
'a': 3,
'b': 5
}
})