typescript - 带有字符串变量的打字稿访问哈希图
问题描述
我做了这个简单的代码:
const testHashMap = {
hello: "Hi",
test: "Hey",
blabla: "Halo"
}
const inputFromField : string = "hello";
alert(testHashMap[inputFromField]);
但是最后一行不起作用,因为它要求 inputFromField 来自类型"hello" | "test" | "blabla"
而不是一般字符串,我怎么能坚持使用字符串?因为它应该是未来用户的输入。
解决方案
您可以显式声明常量的类型:
const testHashMap: Record<string, string> = {
hello: "Hi",
test: "Hey",
blabla: "Halo"
}
Record<string,string>
是 . 的一种更易读的形式(语法糖?){[key: string]: string}
。你可以这样写上面的代码,它的意思是一样的:
const testHashMap: {[key: string]: string} = {
hello: "Hi",
test: "Hey",
blabla: "Halo"
}
推荐阅读
- javascript - 类构造函数内的函数与类内但构造函数外的方法(在js中)有什么区别?
- java - 在Java的for循环中将一个数字乘以n个值
- xamarin.forms - 如何在 Xamarin 中的 RelativeLayout 中定位元素?
- c# - 使用没有 ToListAsync() 的等待的实体框架
- reactjs - propType [name] 不是必需的,但没有对应的 defaultProps 声明 ReactJS
- reactjs - OAuth 响应需要在配置中定义的用户池
- json - 如何将以下 JSON(深度嵌套)加载到 DataFrame?
- sql-server - MSSQL select during tranascation,获取事务开始前的数据
- java - kubernetes 中的 Kafka 抛出错误 - 代理在 kubernetes 中可能不可用
- python - 问题在python中部署站点的任何地方