JSON ऑब्जेक्ट को TypeScript क्लास इंस्टेंस में कैसे बदलें?
सभी को नमस्कार! मैं TypeScript में नौसिखिया हूँ और JSON डेटा के साथ काम करते समय एक समस्या का सामना करना पड़ा। मेरे पास User क्लास है जिसमें फ़ील्ड और मेथड हैं:
```typescript
class User {
name: string;
age: number;
email: string;
constructor(name: string, age: number, email: string) {
this.name = name;
this.age = age;
this.email = email;
}
isAdult(): boolean {
return this.age >= 18;
}
}
```
जब मैं सर्वर से JSON फ़ॉर्मेट में डेटा प्राप्त करता हूँ, उदाहरण के लिए fetch के माध्यम से:
```typescript
const response = await fetch('/api/user');
const jsonData = await response.json();
// jsonData = { name: 'Иван', age: 25, email: 'ivan@example.com' }
```
मैं इसे User टाइप में बदलने का प्रयास करता हूँ:
```typescript
const user: User = jsonData as User;
```
लेकिन बाद में, जब मैं user.isAdult() मेथड को कॉल करता हूँ, TypeScript कोई त्रुटि नहीं देता, लेकिन रनटाइम पर मुझे "user.isAdult is not a function" मिलता है। मैं समझता हूँ कि as User केवल कंपाइलर के लिए टाइप कास्टिंग है, लेकिन वास्तव में ऑब्जेक्ट नहीं है