TypeScript में इंटरफ़ेस प्रकार की जाँच: कैसे निर्धारित करें कि कोई ऑब्जेक्ट इंटरफ़ेस से मेल खाता है?
नमस्ते सहकर्मियों! मैंने TypeScript सीखना शुरू किया है और एक समस्या का सामना किया जो बुनियादी लगती है, लेकिन मुझे सही समाधान नहीं मिल रहा है। मेरे पास एक इंटरफ़ेस है:
```typescript
interface User {
name: string;
age: number;
email: string;
}
```
मैं API से `any` या `unknown` के रूप में डेटा प्राप्त कर रहा हूँ। मुझे यह जाँचने की आवश्यकता है कि प्राप्त ऑब्जेक्ट `User` इंटरफ़ेस से मेल खाता है या नहीं, इसके फ़ील्ड का उपयोग करने से पहले। JavaScript में मैं `typeof obj.name === 'string'` और इसी तरह लिखूंगा, लेकिन TypeScript में मैं भाषा की क्षमताओं का उपयोग करके इसे सुंदर तरीके से करना चाहता हूँ।
मैंने `if (obj instanceof User)` लिखने की कोशिश की, लेकिन TypeScript त्रुटि देता है कि `User` एक इंटरफ़ेस है, क्लास नहीं। `typeof obj === 'User'` का उपयोग करने की कोशिश की — यह भी काम नहीं करता। मैंने गूगल किया और type guards और कस्टम फ़ंक्शन के बारे में उल्लेख पाया, लेकिन मुझे पूरी तरह से समझ नहीं आया कि इसे सही तरीके से कैसे किया जाए।
कृपया बताएं कि TypeScript में कैसे जाँच करें कि कोई ऑब्जेक्ट इंटरफ़ेस से मेल खाता है? यह महत्वपूर्ण है कि जाँच संकलन चरण (TypeScript) पर भी काम करे।