Avatar ·

在 TypeScript 中声明和初始化字典 (Dictionary)

大家好!我是 TypeScript 的新手(之前用纯 JS 写代码),在声明字典(Dictionary,即关联数组)时遇到了问题。在 JavaScript 中,我这样写: ```typescript let dict = {}; dict["key1"] = "value1"; dict["key2"] = 123; ``` 一切正常。但在 TypeScript 中,我需要严格类型化字典,其中键是字符串,值是数字。我尝试了几种方法,但总是遇到编译错误或奇怪的行为。 方法 1: ```typescript let dict = {}; dict["apple"] = 5; // 错误:元素隐式具有 'any' 类型 ``` 方法 2: ```typescript let dict: object = {}; dict["apple"] = 5; // 错误:类型 'object' 上不存在属性 'apple' ``` 方法 3: ```typescript let dict: { [key: string]: number } = {}; dict["apple"] = "text"; // 我希望这是错误,但... // 实际上这里会有错误,但不总是清楚如何正确操作。 ``` 我想要: 1. 声明一个空字典,键为字符串