Avatar ·

TypeScript में किसी ऑब्जेक्ट के सभी एलिमेंट्स (इंडेक्स मेंबर्स) के लिए टाइप कैसे सेट करें?

नमस्ते! मैंने हाल ही में TypeScript सीखना शुरू किया है और एक समस्या का सामना किया। मेरे पास एक ऑब्जेक्ट है जो उपयोगकर्ताओं के बारे में डेटा स्टोर करता है। कुंजियाँ स्ट्रिंग ID हैं, और वैल्यू जानकारी वाले ऑब्जेक्ट हैं। मुझे चाहिए कि TypeScript जाँच करे कि इस ऑब्जेक्ट की सभी वैल्यू एक निश्चित टाइप से मेल खाती हैं, चाहे मैं कोई भी कुंजी उपयोग करूँ। यहाँ एक उदाहरण है जो मैं करने की कोशिश कर रहा हूँ: ```typescript interface User { name: string; age: number; } // इस तरह मैं ऑब्जेक्ट घोषित करना चाहता हूँ, जहाँ सभी वैल्यू User हैं let users: { [key: string]: User } = {}; users["user1"] = { name: "Alice", age: 30 }; // ठीक है users["user2"] = { name: "Bob", age: "25" }; // एरर, age स्ट्रिंग है, नंबर नहीं ``` यह कोड काम करता है, लेकिन मुझे यकीन नहीं है कि यह सही तरीका है। मैंने Record के बारे में सुना है, लेकिन समझ नहीं आता कि अंतर क्या है। साथ ही, मुझे यह जानने में दिलचस्पी है कि कुंजियों को सिर्फ स्ट्रिंग नहीं, बल्कि विशिष्ट वैल्यू (जैसे केवल "admin", "user", "guest") कैसे बनाया जाए। कृपया बताएं कि सही तरीके से टाइप कैसे करें।