TypeScript: ऑब्जेक्ट्स के साथ काम करते समय 'Type 'string' is not assignable to type' त्रुटि
नमस्ते! मैंने TypeScript सीखना शुरू किया है और एक अजीब त्रुटि का सामना किया। मेरे पास एक इंटरफ़ेस है जो उपयोगकर्ता का वर्णन करता है:
```typescript
interface User {
name: string;
age: number;
role: 'admin' | 'user';
}
```
मैं एक फ़ंक्शन बनाने की कोशिश कर रहा हूँ जो एक स्ट्रिंग (role) लेता है और एक User ऑब्जेक्ट लौटाता है:
```typescript
function createUser(name: string, age: number, role: string): User {
return { name, age, role };
}
```
लेकिन TypeScript `role` पर त्रुटि देता है: "Type 'string' is not assignable to type '"admin" | "user"'"। मुझे समझ नहीं आ रहा कि ऐसा क्यों हो रहा है। आखिर `role` एक स्ट्रिंग है, और मैं एक स्ट्रिंग पास कर रहा हूँ जो `'admin' | 'user'` टाइप के अनुकूल होनी चाहिए। JavaScript में यह बिना किसी समस्या के काम करता।
मैंने स्पष्ट रूप से टाइप कास्ट करने की कोशिश की: `role as 'admin' | 'user'`, लेकिन यह एक अस्थायी समाधान लगता है। क्या इस समस्या को हल करने का कोई सही तरीका है? शायद मैं इंटरफ़ेस को गलत डिज़ाइन कर रहा हूँ? विस्तृत स्पष्टीकरण के लिए आभारी रहूँगा।