كيفية الحصول على نوع القيمة المُرجَعة من دالة في TypeScript؟
مرحباً بالجميع! لقد بدأت للتو في تعلم TypeScript وواجهت مشكلة. لدي دالة تُرجع كائنًا معقدًا، وأحتاج إلى استخدام نفس النوع في مكان آخر، لكنني لا أريد تكرار وصف الـ interface.
إليك مثال:
```typescript
function createUser(name: string, age: number) {
return {
id: Math.random().toString(36),
name: name,
age: age,
createdAt: new Date(),
isActive: true,
permissions: ['read', 'write']
};
}
// كيف يمكنني الحصول على نوع ما تُرجعه createUser؟
// أريد فعل شيء مثل:
// type User = ReturnType; // هذا لا يعمل!
```
لقد جربت استخدام `typeof`، لكنه يُرجع نوع الدالة نفسها، وليس قيمتها المُرجَعة. هل هناك آلية مدمجة في TypeScript لهذا؟ رأيت ذكرًا لـ `ReturnType` في مكان ما، لكنني لا أفهم كيفية تطبيقه بشكل صحيح.
أرجو إرشادي، كيف يمكنني الحصول على نوع القيمة المُرجَعة بشكل صحيح لاستخدامه لاحقًا؟