Avatar ·

在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类的对象。