Avatar ·

TypeScript में कंस्ट्रक्टर ओवरलोडिंग: एकाधिक वेरिएंट सही तरीके से कैसे घोषित करें?

नमस्ते! मैंने अभी TypeScript सीखना शुरू किया है और कंस्ट्रक्टर ओवरलोडिंग की समस्या का सामना किया। डॉक्यूमेंटेशन में कहा गया है कि TypeScript फंक्शन ओवरलोडिंग को सपोर्ट करता है, लेकिन मैं इसे क्लास कंस्ट्रक्टर के लिए काम नहीं करवा पा रहा। मेरे पास एक `User` क्लास है जिसे विभिन्न पैरामीटर सेट लेने चाहिए: - नाम और उम्र (अनिवार्य) - केवल नाम (उम्र डिफ़ॉल्ट 0) - name और age फ़ील्ड वाला एक ऑब्जेक्ट यहाँ मैं क्या करने की कोशिश कर रहा हूँ: ```typescript class User { name: string; age: number; constructor(name: string, age: number); constructor(name: string); constructor(obj: {name: string, age: number}) { this.name = name; this.age = age; } } ``` TypeScript त्रुटि देता है: "Type '{name: string, age: number}' is not assignable to type 'string'"। मैं समझता हूँ कि समस्या यह है कि सभी सिग्नेचर संगत होने चाहिए, लेकिन कंस्ट्रक्टर ओवरलोडिंग को सही तरीके से कैसे लागू करें? शायद इसे करने का कोई और तरीका हो? कृपया उदाहरणों के साथ विस्तृत स्पष्टीकरण दें।