Cómo especificar el tipo para todos los valores de un objeto en TypeScript, excepto las claves
¡Hola a todos! Tengo un objeto que uso como diccionario. Las claves son strings y los valores son números. Así:
```typescript
const myDict = {
apple: 5,
banana: 3,
cherry: 8
};
```
El problema es que TypeScript no verifica que todos los valores en este objeto sean números. Si accidentalmente escribo `apple: "five"`, no habrá error porque TypeScript infiere el tipo como `{ apple: string | number; banana: number; cherry: number }`, no como `{ [key: string]: number }`.
Probé usar `Record`:
```typescript
const myDict: Record = {
apple: 5,
banana: 3,
cherry: 8
};
```
Esto funciona, pero ahora no puedo obtener autocompletado para las claves. Cuando escribo `myDict.apple`, TypeScript muestra que el tipo es `number`, pero no sugiere qué claves existen. Necesito que:
1. Todos los valores sean del mismo tipo (por ejemplo, `number`).
2. TypeScript conozca las claves exactas (string "apple", "banana", "cherry") y dé autocompletado.