TypeScript में क्लास कॉन्स्टेंट्स को सही तरीके से कैसे लागू करें?
सभी को नमस्ते! मैं TypeScript सीख रहा हूँ और क्लास के अंदर कॉन्स्टेंट्स को परिभाषित करने की कोशिश में एक समस्या का सामना किया।
मुझे एक ऐसा क्लास बनाना है जो इस क्लास से संबंधित कुछ फिक्स्ड वैल्यूज़ को स्टोर करे। उदाहरण के लिए, मैं लॉगिन प्रयासों की अधिकतम संख्या (MAX_LOGIN_ATTEMPTS = 5) या ऑर्डर स्टेटस (STATUS_PENDING = 'pending', STATUS_APPROVED = 'approved') को परिभाषित करना चाहता हूँ।
मैंने अलग-अलग तरीके आज़माए, लेकिन कोई भी मेरी उम्मीद के अनुसार काम नहीं करता:
```typescript
class UserManager {
// प्रयास 1: सिर्फ प्रॉपर्टी
MAX_LOGIN_ATTEMPTS = 5; // यह इंस्टेंस प्रॉपर्टी है, क्लास प्रॉपर्टी नहीं
// प्रयास 2: static के साथ const
static const MAX_LOGIN_ATTEMPTS = 5; // सिंटैक्स एरर
// प्रयास 3: readonly
static readonly MAX_LOGIN_ATTEMPTS = 5; // काम करता है, लेकिन प्रोटोटाइप के ज़रिए बदला जा सकता है
}
```
समस्या यह है कि:
1. अगर मैं सामान्य प्रॉपर्टी का उपयोग करता हूँ, तो यह क्लास के हर इंस्टेंस के लिए बनती है, जो अकुशल है।
2. `static const` TypeScript में काम नहीं करता।