TypeScript में मेथड पैरामीटर में कॉलबैक फंक्शन को सही तरीके से कैसे टाइप करें?
सभी को नमस्ते! मैं अभी TypeScript सीखना शुरू कर रहा हूँ और एक समस्या में फंस गया हूँ। मेरी क्लास में एक मेथड है जो कॉलबैक फंक्शन लेता है। मैं पैरामीटर को इस तरह टाइप करना चाहता हूँ कि कोई भी फंक्शन (किसी भी संख्या में आर्गुमेंट्स और रिटर्न वैल्यू के साथ) पास किया जा सके, लेकिन टाइप चेकिंग बनाए रखने के लिए `any` का उपयोग न करूँ।
यहाँ मैं कोशिश कर रहा हूँ:
```typescript
class EventBus {
on(eventName: string, callback: any) { // यह काम करता है, लेकिन असुरक्षित है
// ...
}
}
const bus = new EventBus();
bus.on('click', (data: number) => console.log(data)); // कोई एरर नहीं होगी, भले ही स्ट्रिंग पास करें
```
मैं समझता हूँ कि `any` टाइप चेकिंग को पूरी तरह से बंद कर देता है और यह बुरी प्रैक्टिस है। मैंने `Function` का उपयोग करने की कोशिश की, लेकिन वह भी बहुत व्यापक है और आर्गुमेंट्स के साथ ठीक से काम नहीं करता।
डॉक्यूमेंटेशन में मैंने `(...args: any[]) => any` देखा, लेकिन यह मुझे एक क्रच लगता है। क्या कोई और सुरुचिपूर्ण तरीका है? TypeScript में "कोई भी फंक्शन" टाइप को सही तरीके से कैसे घोषित करें ताकि: