在TypeScript中将对象用作字典(Dictionary)如同C#
你好!我正在从C#转向TypeScript,但一直没搞明白如何正确实现类似Dictionary的功能。在C#中,我这样写:
```csharp
var dict = new Dictionary();
dict.Add("apple", 5);
dict.Add("banana", 3);
Console.WriteLine(dict["apple"]); // 5
```
在TypeScript中,我尝试这样做:
```typescript
let dict = {};
dict["apple"] = 5;
dict["banana"] = 3;
console.log(dict["apple"]); // 5
```
但TypeScript对`dict["apple"]`报错——提示元素隐式具有`any`类型。如果我显式指定类型:
```typescript
let dict: { [key: string]: number } = {};
```
这样就能正常工作,但我不明白:
1. 如何正确声明这样的字典?
2. 如何检查键是否存在?
3. 如何遍历字典中的所有元素?
4. TypeScript中是否有内置的Dictionary类?
请告诉我,在TypeScript中通常如何将对象用作字典?我需要存储“键-值”对,其中键是字符串,值是我自定义的User类的对象。