Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 通过字符串获取查找属性值_Typescript - Fatal编程技术网

Typescript 通过字符串获取查找属性值

Typescript 通过字符串获取查找属性值,typescript,Typescript,嘿,我在根据typescript中的类属性查找类中的字符串时遇到了一个问题 export class EventName { public static LOGIN = "LOGIN"; public static LOGOUT = "LOGOUT"; } 我在网上查了一下,上面说只要使用eventName['LOGIN']之类的东西 但是,这将返回以下错误 元素隐式具有“any”类型,因为类型“typeof EventName”没有索引签名 然后我试着加入 [键:字符串]:任意;

嘿,我在根据typescript中的类属性查找类中的字符串时遇到了一个问题

export class EventName {
   public static LOGIN = "LOGIN";
   public static LOGOUT = "LOGOUT";
}
我在网上查了一下,上面说只要使用eventName['LOGIN']之类的东西

但是,这将返回以下错误

元素隐式具有“any”类型,因为类型“typeof EventName”没有索引签名

然后我试着加入 [键:字符串]:任意;
但这仍然给了我同样的错误。我想知道是否有人可以在这里指出这个问题,谢谢?

如果您尝试使用示例eventName['LOGIN';使用EventName类的实例,如果使用-noImplicitAny,则会出现该错误:

这是因为属性是静态的,不属于实例-因此您可以使用:

class EventName {
   public static LOGIN = "LOGIN";
   public static LOGOUT = "LOGOUT";
}

// login: string;
const login = EventName['LOGIN'];

这可能是一个很好的例子,说明了-noImplicitAny标志非常有用。

我无法在TypeScript游戏场中复制它-您能否确切地说明是什么代码导致了错误,并指定您使用的TypeScript版本?非常感谢。完美答案
class EventName {
   public static LOGIN = "LOGIN";
   public static LOGOUT = "LOGOUT";
}

// login: string;
const login = EventName['LOGIN'];