unknown बनाम any: TypeScript में अंतर और कब क्या उपयोग करें?
नमस्ते! मैंने हाल ही में TypeScript सीखना शुरू किया है और `any` और `unknown` टाइप्स के बारे में जाना। दोनों ही कुछ भी स्टोर करने की अनुमति देते हैं, लेकिन मैं समझ नहीं पा रहा हूँ कि इनमें क्या अंतर है और कब किसका उपयोग करना चाहिए।
यहाँ एक उदाहरण है जो मुझे भ्रमित करता है। मेरे पास एक function है जो API से डेटा प्राप्त करता है, और मुझे नहीं पता कि वास्तव में क्या आएगा:
```typescript
function processData(data: any) {
console.log(data.toUpperCase()); // काम करता है, लेकिन अगर data string नहीं है तो runtime में क्रैश हो जाता है
}
```
अगर मैं `any` को `unknown` से बदल दूं:
```typescript
function processData(data: unknown) {
console.log(data.toUpperCase()); // Compilation error: Object is of type 'unknown'
}
```
तो `unknown` के साथ कोड compile भी नहीं होता। फिर `unknown` की क्या ज़रूरत है, अगर वह केवल बाधा डालता है? मैंने सुना है कि `unknown` को अधिक सुरक्षित माना जाता है, लेकिन व्यवहार में मुझे कोई लाभ नहीं दिखता, केवल अनावश्यक समस्याएँ हैं।
साथ ही, मैं यह भी नहीं समझता कि `unknown` के साथ सही तरीके से कैसे काम करें। अगर मैं API से डेटा प्राप्त करता हूँ, तो मुझे वैसे भी...