这是Typescript中的字典还是哈希表?

这是Typescript中的字典还是哈希表?,typescript,Typescript,以下代码来自ngrx示例 这项声明将起什么作用?这等同于C#中的字典或哈希表吗 let-typeCache:{[label:string]:boolean}={} 原代码: let typeCache: { [label: string]: boolean } = {}; export function type<T>(label: T | ''): T { if (typeCache[<string>label]) { throw new Error(`A

以下代码来自ngrx示例

这项声明将起什么作用?这等同于C#中的字典或哈希表吗

let-typeCache:{[label:string]:boolean}={}

原代码:

let typeCache: { [label: string]: boolean } = {};

export function type<T>(label: T | ''): T {
  if (typeCache[<string>label]) {
    throw new Error(`Action type "${label}" is not unique"`);
  }

  typeCache[<string>label] = true;

  return <T>label;
}
let-typeCache:{[label:string]:boolean}={};
导出函数类型(标签:T |“”):T{
if(类型缓存[标签]){
抛出新错误(`Action type“${label}”不是唯一的“`);
}
typeCache[label]=true;
退货标签;
}

这是javascript中的映射,一个简单的键/值映射。有关详细信息,请参阅。

这是javascript中的映射,一个简单的键/值映射。有关详细信息,请参阅。

我不确定C的等价性,但它在typescript中的含义是一个具有布尔属性的常规javascript对象,它被称为。
键只能是字符串或数字,这将无法编译:

let typeCache: { [label: Date]: boolean } = {}; // error: An index signature parameter type must be 'string' or 'number'
值的外观示例:

type Indexable = { [label: string]: boolean };

let typeCache1: Indexable = { a: true, b: false };
let typeCache2: Indexable = { a: true, b: "string" }; // error: Type '{ a: true; b: "string"; }' is not assignable to type 'Indexable'
我不确定C#等价性,但它在typescript中的含义是一个具有布尔属性的常规javascript对象,它被称为。
键只能是字符串或数字,这将无法编译:

let typeCache: { [label: Date]: boolean } = {}; // error: An index signature parameter type must be 'string' or 'number'
值的外观示例:

type Indexable = { [label: string]: boolean };

let typeCache1: Indexable = { a: true, b: false };
let typeCache2: Indexable = { a: true, b: "string" }; // error: Type '{ a: true; b: "string"; }' is not assignable to type 'Indexable'

不,他不是在问
地图
,他是在用常规对象。不,他不是在问
地图
,他是在用常规对象。