Avatar ·

كيفية استبعاد خاصية من نوع في TypeScript (Exclude property from type)

مرحبًا بالجميع! أنا جديد في TypeScript وقد واجهت مشكلة أثناء العمل مع أنواع الكائنات. لدي واجهة `User` تحتوي على العديد من الحقول: `id`، `name`، `email`، `password`، `createdAt`، `role`، إلخ. عندما أعيد بيانات المستخدم من API، لا أريد إرسال `password` و `createdAt` إلى العميل (فهذه حقول داخلية). المشكلة هي أنني لا أريد إنشاء واجهة منفصلة للتمثيل العام للمستخدم، لأن ذلك يؤدي إلى تكرار الكود. إذا أضفت حقلًا جديدًا إلى `User`، يجب أن أتذكر إضافته أيضًا إلى الواجهة العامة. إليك مثال: ```typescript interface User { id: number; name: string; email: string; password: string; createdAt: Date; role: 'admin' | 'user'; } // كيف يمكنني الحصول على نوع بدون password و createdAt؟ // أريد شيئًا مثل: // type PublicUser = ExcludeProperty; ``` لقد جربت استخدام `Omit`، لكنني لست متأكدًا من أن هذا هو الصحيح.