TypeScript and Dictionary Index
I define a Interface, then I define a dictionary variables and want to look up the dictionary based on the key.
interface GroupSettingsMethod { (parameters: any) : Promise<string> | void };
const groupSettingsMethods = {
'/meeting/create': { 'method': changeGroupMeetingCount },
'/meeting/update': { 'method': getGroupMeetingCount }
};
..snip…
const methodImpl: GroupSettingsMethod = groupSettingsMethods[uriSuffix.toLowerCase()].method || null;
…snip…
It should lookup the different interface based not he uriSuffix. But in my VS code, it shows up
[ts] Element implicitly has an ‘any’ type because type ….. has no index signature
I checked some articles here
https://basarat.gitbooks.io/typescript/docs/types/index-signatures.html
https://dev.to/kingdaro/indexing-objects-in-typescript-1cgi
Finally, I solve that by change the dictionary definition to
const groupSettingsMethods:{ [index:string] : any } = {
'/meeting/create': { 'method': changeGroupMeetingCount },
'/meeting/update': { 'method': getGroupMeetingCount }
};
References:
https://basarat.gitbooks.io/typescript/docs/types/index-signatures.html
https://dev.to/kingdaro/indexing-objects-in-typescript-1cgi
I define a Interface, then I define a dictionary variables and want to look up the dictionary based on the key.
interface GroupSettingsMethod { (parameters: any) : Promise<string> | void };
const groupSettingsMethods = {
'/meeting/create': { 'method': changeGroupMeetingCount },
'/meeting/update': { 'method': getGroupMeetingCount }
};
..snip…
const methodImpl: GroupSettingsMethod = groupSettingsMethods[uriSuffix.toLowerCase()].method || null;
…snip…
It should lookup the different interface based not he uriSuffix. But in my VS code, it shows up
[ts] Element implicitly has an ‘any’ type because type ….. has no index signature
I checked some articles here
https://basarat.gitbooks.io/typescript/docs/types/index-signatures.html
https://dev.to/kingdaro/indexing-objects-in-typescript-1cgi
Finally, I solve that by change the dictionary definition to
const groupSettingsMethods:{ [index:string] : any } = {
'/meeting/create': { 'method': changeGroupMeetingCount },
'/meeting/update': { 'method': getGroupMeetingCount }
};
References:
https://basarat.gitbooks.io/typescript/docs/types/index-signatures.html
https://dev.to/kingdaro/indexing-objects-in-typescript-1cgi
博客主要讲述了在TypeScript中定义接口和字典变量,尝试根据键查找字典时遇到的问题。在VS code里出现元素隐式为'any'类型的提示,作者通过参考相关文章,将字典定义修改后解决了该问题。
2318

被折叠的 条评论
为什么被折叠?



