Wie man in TypeScript einen Typ für alle Werte eines Objekts festlegt, außer für die Schlüssel?
Hallo zusammen! Ich habe ein Objekt, das ich als Wörterbuch verwende. Die Schlüssel sind Strings und die Werte sind Zahlen. So:
```typescript
const myDict = {
apple: 5,
banana: 3,
cherry: 8
};
```
Das Problem ist, dass TypeScript nicht überprüft, ob alle Werte in diesem Objekt Zahlen sind. Wenn ich versehentlich `apple: "five"` schreibe, gibt es keinen Fehler, weil TypeScript den Typ als `{ apple: string | number; banana: number; cherry: number }` ableitet, nicht als `{ [key: string]: number }`.
Ich habe versucht, `Record` zu verwenden:
```typescript
const myDict: Record = {
apple: 5,
banana: 3,
cherry: 8
};
```
Das funktioniert, aber jetzt kann ich keine Autovervollständigung für die Schlüssel erhalten. Wenn ich `myDict.apple` schreibe, zeigt TypeScript an, dass der Typ `number` ist, aber es schlägt nicht vor, welche Schlüssel genau existieren. Ich brauche, dass:
1. Alle Werte denselben Typ haben (z.B. `number`).
2. TypeScript die genauen Schlüssel kennt (String "apple", "banana", "cherry") und Autovervollständigung bietet.