Avatar ·

TypeScript में फंक्शन ओवरलोडिंग: सही तरीके से घोषणा और उपयोग कैसे करें?

सभी को नमस्ते! मैंने अभी-अभी TypeScript सीखना शुरू किया है और फंक्शन ओवरलोडिंग का उपयोग करने की कोशिश करते समय एक समस्या का सामना करना पड़ा। मेरे पास एक `format` फंक्शन है जो पारित आर्गुमेंट्स के प्रकार के आधार पर अलग-अलग तरीके से काम करना चाहिए: 1. यदि एक स्ट्रिंग और एक नंबर पारित किया जाता है — स्ट्रिंग को रिपीटेशन के साथ फॉर्मेट करें। 2. यदि दो स्ट्रिंग पारित की जाती हैं — उन्हें एक सेपरेटर के माध्यम से जोड़ें। 3. यदि केवल एक नंबर पारित किया जाता है — इसे प्रीफिक्स के साथ स्ट्रिंग के रूप में लौटाएं। मैंने ऐसा कोड लिखा, लेकिन TypeScript त्रुटि दे रहा है: ```typescript function format(a: string, b: number): string; function format(a: string, b: string): string; function format(a: number): string; function format(a: string | number, b?: string | number): string { if (typeof a === 'number') { return `ID: ${a}`; } if (typeof b === 'number') { return a.repeat(b); } if (typeof b === 'string') { return `${a} - ${b}`; } return a; } ``` त्रुटि: `This overload signature is not compatible with its implementation signature.` मैं