TypeScript使用HashMap

我不知道大家是怎么使用索引类型的,我是一次想实现HashMap时接触到了索引类型。 索引类型大约是这样的:

{
    [idx: string|number]:any
}

方括号里面是索引的类型,类似于hashmap里面的key,支持两种索引签名:字符串和数字。 可以同时使用两种类型的索引,但是数字索引的返回值必须是字符串索引返回值类型的子类型。 这是因为当使用 number来索引时,JavaScript会将它转换成string然后再去索引对象。 也就是说用 100(一个number)去索引等同于使用"100"(一个string)去索引,因此两者需要保持一致。

右边的类型签名,类似于hashmap里面的value。

例如:

var userInfo: {[index:string]: string} = {}
userInfo["name"] = "typescript"
userInfo["age"] = "14"
console.log("user name is ", userInfo["name"])
console.log("user age is ", userInfo["age"])

更多内容,欢迎加入Chat:http://gitbook.cn/gitchat/activity/5a6043750b6ffc7ace5faf48

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

Scala类型推导Scala类型推导

根据Picrce的说法:“类型系统是一个可以根据代码段计算出来的值对它们进行分类,然后通过语法的手段来自动检测程序错误的系统。”

1322
来自专栏飞雪无情的博客

Go语言实战笔记(五)| Go 切片

切片也是一种数据结构,它和数组非常相似,因为他是围绕动态数组的概念设计的,可以按需自动改变大小,使用这种结构,可以更方便的管理和使用数据集合。

1114
来自专栏Duncan's Blog

python与neo-4j交互(对py2neo包做的笔记)

1983
来自专栏Python

JavaScript基础

一 JavaScript的基础 1.1 JS的引入方式 1 直接编写 <script> alert('hello yuan') ...

2278
来自专栏LEo的网络日志

go从已知列表中查找字符串

3627
来自专栏王硕

原 pg查询树的简单解读

37013
来自专栏菜鸟前端工程师

JavaScript学习笔记017-数值方法0Math0定时器

783
来自专栏咸鱼不闲

jsoup爬虫工具的简单使用

解决方案: 1.通过url 获得doucment对象, 2.调用select()等方法获得Elements对象, 3.调用.text()等方法,获得自己想要的内...

4034
来自专栏marsggbo

jquery的html,text,val

.html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改表单元素的value值。 这三个方法功能...

2065
来自专栏Golang语言社区

Go语言编程中字符串切割方法小结

1.func Fields(s string) []string,这个函数的作用是按照1:n个空格来分割字符串最后返回的是 []string的切片 import...

3839

扫码关注云+社区

领取腾讯云代金券