Avatar ·

كيفية تحويل كائن 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 هو مجرد تحويل نوع للمترجم، لكن الكائن في الواقع ليس