Avatar ·

Comment définir un type pour toutes les valeurs d'un objet en TypeScript, à l'exception des clés ?

Bonjour à tous ! J'ai un objet que j'utilise comme dictionnaire. Les clés sont des strings et les valeurs sont des numbers. Voici : ```typescript const myDict = { apple: 5, banana: 3, cherry: 8 }; ``` Le problème est que TypeScript ne vérifie pas que toutes les valeurs dans cet objet sont des numbers. Si j'écris accidentellement `apple: "five"`, il n'y aura pas d'erreur, car TypeScript déduit le type comme `{ apple: string | number; banana: number; cherry: number }`, et non comme `{ [key: string]: number }`. J'ai essayé d'utiliser `Record` : ```typescript const myDict: Record = { apple: 5, banana: 3, cherry: 8 }; ``` Cela fonctionne, mais maintenant je ne peux pas obtenir l'autocomplétion pour les clés. Quand j'écris `myDict.apple`, TypeScript montre que le type est `number`, mais ne suggère pas quelles clés exactes existent. J'ai besoin que : 1. Toutes les valeurs soient du même type (par exemple, `number`). 2. TypeScript connaisse les clés exactes (string "apple", "banana", "cherry") et fournisse l'auto