小编don*_*nut的帖子

typescript:使用'字典'类型的点符号访问属性

尝试使用点表示法访问dict的属性会使Typescript抱怨.语言规范4.10规定:

ObjExpr [IndexExpr]

...如果ObjExpr的表观类型具有字符串索引签名且IndexExpr的类型为Any,String或Number原始类型或枚举类型,则属性访问属于该索引签名的类型.

我在用:

interface MapStringToFunction {
  [index: string]: Function;
}

var dict: MapStringToFunction = {};

dict.say = () => 'hi';

dict.say();
Run Code Online (Sandbox Code Playgroud)

MapStringToFunction有一个sting索引签名并且say是String类型,所以应该允许它?但显而易见的不是.我的错误是什么?如何更改代码以便我可以使用点表示法键入dict和访问属性?

typescript

6
推荐指数
1
解决办法
2916
查看次数

标签 统计

typescript ×1