TypeScript में फंक्शन ओवरलोडिंग: सही तरीके से घोषणा और उपयोग कैसे करें?
सभी को नमस्ते! मैंने अभी JavaScript के बाद TypeScript सीखना शुरू किया है और मुझे एक समझ से परे विषय का सामना करना पड़ा — फंक्शन ओवरलोडिंग (function overloading)।
JavaScript में मैं ऐसे फंक्शन लिखने का आदी हूँ जो विभिन्न प्रकार के आर्गुमेंट्स ले सकते हैं, और उन्हें `typeof` या `instanceof` के साथ आंतरिक रूप से जाँच सकते हैं। उदाहरण के लिए, मेरे पास एक फंक्शन है जो या तो स्ट्रिंग या नंबर लेना चाहिए, और इसके आधार पर अलग-अलग ऑपरेशन करना चाहिए। JS में मैं ऐसा करता था:
```typescript
function format(input) {
if (typeof input === 'string') {
return input.trim();
} else if (typeof input === 'number') {
return input.toFixed(2);
}
}
```
लेकिन TypeScript में मैं इस फंक्शन के लिए टाइप्स का वर्णन करना चाहता हूँ। मैंने यह लिखने की कोशिश की:
```typescript
function format(input: string | number): string {
// ...
}
```
यह काम करता है, लेकिन मैंने सुना है कि TypeScript में C++ या Java की तरह "असली" फंक्शन ओवरलोडिंग है। मैंने ऐसा करने की कोशिश की:
```typescript
function format(input: string): string;
function format(input: number): st