Erreur « Element implicitly has an 'any' type » lors de l'accès à un objet par une clé de type string
Bonjour à tous ! Je suis novice en TypeScript et j'ai rencontré une erreur que je ne comprends pas. J'ai un objet avec des clés prédéfinies, et je souhaite obtenir la valeur par une clé qui provient d'une variable de type string.
Voici un exemple simplifié :
```typescript
const userRoles = {
admin: 'accès complet',
editor: 'édition',
viewer: 'lecture seule'
};
function getRole(roleName: string) {
return userRoles[roleName];
}
```
TypeScript génère une erreur :
```
Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ admin: string; editor: string; viewer: string; }'.
No index signature with a parameter of type 'string' was found on type '{ admin: string; editor: string; viewer: string; }'.
```
Je comprends que le problème vient du fait que j'essaie d'utiliser `string` pour accéder à un objet dont les clés sont des littéraux spécifiques (`'admin' | 'editor' | 'viewer'`). Mais que faire si la clé provient d'une source externe (par
No answers yet.
Connectez-vous pour laisser une réponse
Blogs