Record的完整定义如下
复制代码
1
2
3
4type Record<K extends keyof any, T> = { [P in K]: T; };
首先要先理解keyof any是啥。
复制代码
1
2type KEY = keyof any //即 string | number | symbol
因为不管什么类型,它的key总是string,number,symbol中的一种。
复制代码
1
2
3
4
5
6let a: any; a['a'] //ok a[0] // ok a[Symbol()] //ok a[{}] // error
接下来就好理解了,[P in K]
的意思是对象的key可以取 string,number,symbol.
e.g
复制代码
1
2let a:Record<string,any>
最后
以上就是不安电源最近收集整理的关于如何理解type Record<K extends keyof any, T>的全部内容,更多相关如何理解type内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复