Typescript 何时使用映射与记录之间的差异
我正在尝试映射一些Java代码,这些代码使用map来键入脚本代码。 我最初的想法是在Typescript中使用Map,但对于我正在创建的界面,这并没有奏效。相反,我找到的记录似乎完全模仿了Java的地图 我的主要问题是什么时候我应该在记录上使用Typescript的地图,什么时候我应该在地图上使用Typescript记录 它们是如何工作的Typescript 何时使用映射与记录之间的差异,typescript,Typescript,我正在尝试映射一些Java代码,这些代码使用map来键入脚本代码。 我最初的想法是在Typescript中使用Map,但对于我正在创建的界面,这并没有奏效。相反,我找到的记录似乎完全模仿了Java的地图 我的主要问题是什么时候我应该在记录上使用Typescript的地图,什么时候我应该在地图上使用Typescript记录 它们是如何工作的 viewMappings: Record<string, String[]>; viewMappings: Map<String, Stri
viewMappings: Record<string, String[]>;
viewMappings: Map<String, String[]>;
viewMappings:记录;
视图映射:映射;
比如说
我希望它们在与我的状态非常相似的接口中工作,但它们没有,我正在寻找关于两者差异的文档。记录定义为
type Record<K extends keyof any, T> = {
[P in K]: T;
}
类型记录={
[P in K]:T;
}
而
Map
是一种原生JS ES6数据结构。Record仅仅是一种表示“该对象将被用作特定数据类型的键、值映射”的代表性方式。它是使用{}
创建的普通对象。另一方面,Map
对象有一些独特的特性,需要实例化为newmap()
对我来说,重要的区别在于,对于记录,键查找不会选择性地返回未定义的,这在我知道键不能丢失时简化了我的代码。是JS中的一个数据类,可以使用任何类型的对象作为键,而记录
只是一个描述对象的类型定义,其中键必须是JS对象键(字符串、数字或符号)。