Avatar ·

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

सभी को नमस्ते! मैंने TypeScript सीखना शुरू किया है और कंस्ट्रक्टर ओवरलोडिंग की समस्या का सामना किया। अन्य भाषाओं (जैसे Java या C#) में मैं आदी हूँ कि अलग-अलग parameters के साथ कई कंस्ट्रक्टर घोषित किए जा सकते हैं। लेकिन TypeScript में यह उसी तरह काम नहीं करता। मान लीजिए, मैं एक `User` क्लास बनाना चाहता हूँ जिसे या तो स्ट्रिंग (email) से या नाम और उम्र वाले object से initialize किया जा सके। मैंने ऐसा लिखने की कोशिश की: ```typescript class User { constructor(email: string) { // ... } constructor(name: string, age: number) { // ... } } ``` लेकिन TypeScript त्रुटि देता है: "Duplicate function implementation"। मैं समझता हूँ कि JavaScript में वास्तविक ओवरलोडिंग नहीं है, लेकिन फिर क्या करें? मुझे चाहिए कि क्लास को विभिन्न तरीकों से बनाया जा सके: 1. `new User("john@example.com")` — केवल email 2. `new User("John", 25)` — नाम और उम्र 3. `new User()` — खाली object (डिफ़ॉल्ट मान) TypeScript में इसे सही तरीके से कैसे लागू करें? मैंने union types, rest parameters के बारे में सुना है।