Declaração e inicialização de dicionário (Dictionary) em TypeScript
Olá colegas! Sou novo em TypeScript (antes escrevia em JS puro) e encontrei um problema ao declarar um dicionário (Dictionary, também conhecido como array associativo). Em JavaScript, eu fazia assim:
```typescript
let dict = {};
dict["key1"] = "value1";
dict["key2"] = 123;
```
E funcionava. Mas em TypeScript, preciso tipar estritamente o dicionário, onde as chaves são strings e os valores são números. Tentei várias opções, mas em todas recebo erros de compilação ou comportamento estranho.
Opção 1:
```typescript
let dict = {};
dict["apple"] = 5; // Error: Element implicitly has an 'any' type
```
Opção 2:
```typescript
let dict: object = {};
dict["apple"] = 5; // Error: Property 'apple' does not exist on type 'object'
```
Opção 3:
```typescript
let dict: { [key: string]: number } = {};
dict["apple"] = "text"; // Eu quero que isso seja um erro, mas...
// Na verdade, aqui haverá um erro, mas nem sempre está claro como fazer corretamente.
```
Eu quero:
1. Declarar um dicionário vazio com chaves do tipo string