TypeScript में `declare` कीवर्ड की आवश्यकता क्यों है? उदाहरणों के साथ समझाएं
सभी को नमस्ते! मैंने TypeScript सीखना शुरू किया और `declare` कीवर्ड पर ध्यान गया। आधिकारिक दस्तावेज़ में लिखा है कि इसका उपयोग "उन वेरिएबल्स, फंक्शन्स और क्लासेस को घोषित करने के लिए किया जाता है जो कहीं और मौजूद हैं"। लेकिन मैं पूरी तरह से नहीं समझ पाया कि इसकी आवश्यकता क्यों है और यह व्यवहार में कैसे काम करता है।
उदाहरण के लिए, मैं एक सरल स्क्रिप्ट लिख रहा हूँ जो ग्लोबल वेरिएबल `$` (jQuery) का उपयोग करती है। मुझे पता है कि यह HTML में CDN के माध्यम से जुड़ा है, लेकिन TypeScript शिकायत करता है कि `$` परिभाषित नहीं है। मैंने लिखने का प्रयास किया:
```typescript
declare var $: any;
```
और त्रुटि गायब हो गई। लेकिन केवल `var $: any;` क्यों नहीं लिख सकते? क्या अंतर है? यदि मैं `let $: any;` लिखूं, तो यह भी काम करेगा, लेकिन तब TypeScript समझेगा कि मैं एक नया वेरिएबल बना रहा हूँ, न कि पहले से मौजूद वेरिएबल का वर्णन कर रहा हूँ।
मैंने यह भी देखा कि `declare` का उपयोग `.d.ts` फ़ाइलों में किया जाता है। यदि सब कुछ सामान्य `.ts` फ़ाइलों में लिखा जा सकता है तो इनकी आवश्यकता क्यों है? कृपया सरल शब्दों में समझाएं कि `declare` वास्तव में किसके लिए है और इसका उपयोग किन मामलों में किया जाता है।