TypeScript में कुंजियों को छोड़कर सभी मानों के लिए प्रकार कैसे सेट करें?
सभी को नमस्कार! मेरे पास एक ऑब्जेक्ट है जिसे मैं शब्दकोश के रूप में उपयोग करता हूँ। कुंजियाँ स्ट्रिंग हैं और मान संख्याएँ हैं। इस प्रकार:
```typescript
const myDict = {
apple: 5,
banana: 3,
cherry: 8
};
```
समस्या यह है कि TypeScript यह जाँच नहीं करता कि इस ऑब्जेक्ट के सभी मान संख्याएँ हैं। यदि मैं गलती से `apple: "five"` लिख दूँ, तो कोई त्रुटि नहीं होगी, क्योंकि TypeScript प्रकार को `{ apple: string | number; banana: number; cherry: number }` के रूप में अनुमानित करता है, न कि `{ [key: string]: number }` के रूप में।
मैंने `Record` का उपयोग करने का प्रयास किया:
```typescript
const myDict: Record = {
apple: 5,
banana: 3,
cherry: 8
};
```
यह काम करता है, लेकिन अब मैं कुंजियों के लिए ऑटोकम्प्लीट प्राप्त नहीं कर सकता। जब मैं `myDict.apple` लिखता हूँ, TypeScript दिखाता है कि प्रकार `number` है, लेकिन यह संकेत नहीं देता कि वास्तव में कौन सी कुंजियाँ मौजूद हैं। मुझे चाहिए कि:
1. सभी मान एक ही प्रकार के हों (उदाहरण के लिए, `number`)।
2. TypeScript सटीक कुंजियाँ (स्ट्रिंग "apple", "banana", "cherry") जाने और ऑटोकम्प्लीट दे।