Comment implémenter correctement les constantes de classe en TypeScript ?
Bonjour à tous ! J'apprends TypeScript et j'ai rencontré un problème en essayant de définir des constantes à l'intérieur d'une classe.
J'ai besoin de créer une classe qui stockera des valeurs fixes liées à cette classe. Par exemple, je veux définir le nombre maximum de tentatives de connexion (MAX_LOGIN_ATTEMPTS = 5) ou les statuts de commande (STATUS_PENDING = 'pending', STATUS_APPROVED = 'approved').
J'ai essayé différentes méthodes, mais aucune ne fonctionne comme je l'attends :
```typescript
class UserManager {
// Tentative 1 : simple propriété
MAX_LOGIN_ATTEMPTS = 5; // C'est une propriété d'instance, pas de classe
// Tentative 2 : static avec const
static const MAX_LOGIN_ATTEMPTS = 5; // Erreur de syntaxe
// Tentative 3 : readonly
static readonly MAX_LOGIN_ATTEMPTS = 5; // Fonctionne, mais peut être modifié via le prototype
}
```
Le problème est que :
1. Si j'utilise une propriété normale, elle est créée pour chaque instance de la classe, ce qui est inefficace.
2. `static const` ne fonctionne pas en TypeScript.
3.
No answers yet.
Connectez-vous pour laisser une réponse