📘 مميز

Utility-Types

أنواع مساعدة مدمجة في TypeScript (Built-in Utility Types)

(5/5)
👁️ 4 مشاهدة
📅 02 Jul 2026
⚛️ React 💚 Vue.js 🅰️ Angular 🧡 Svelte 🌐 عام

مستوى الخبرة المطلوب:

🌱 مبتدئ ⚡ متوسط 🚀 محترف 🏢 مؤسسي
🔗 زيارة الموقع الرسمي
5
تقييم المستخدمين
التصنيف 📘 TypeScript
المشاهدات 4
تاريخ الإضافة 02/07/2026
آخر تحديث 02/07/2026

📖 الوصف

TypeScript يوفر مجموعة مدمجة من الأنواع المساعدة (Utility Types) تسمح بتحويل وتعديل الأنواع الموجودة لإنشاء أنواع جديدة. هذه الأنواع تُغني عن كتابة utility types مخصصة في معظم الحالات الشائعة. تشمل الأنواع المساعدة: `Partial<T>`, `Required<T>`, `Readonly<T>`, `Pick<T, K>`, `Omit<T, K>`, `Record<K, ...

🎯 يستخدم في

مجالات استخدام هذه الأداة

تحويل خصائص النوع إلى اختيارية (Partial) أو مطلوبة (Required)

اختيار خصائص محددة من نوع (Pick) أو استبعادها (Omit)

إنشاء أنواع mapping مع Record

استخراج أنواع الدوال (ReturnType

Parameters)

Type narrowing والتعامل مع unions

المميزات

أبرز مميزات هذه الأداة

مدمجة في TypeScript – لا تحتاج مكتبات خارجية

أكثر من 20 utility type جاهز

تحسن من type safety وقراءة الكود

مدعومة بشكل كامل من IDE

تُستخدم في جميع أنماط TypeScript

⚠️ العيوب

نقاط يجب مراعاتها

×

بعض الأنواع المتقدمة قد تحتاج تخصيص

×

لا توجد utility types للتعامل مع Arrays بشكل مباشر

×

تحتاج فهم عميق للـ type system لاستخدامها بشكل فعال

×

بعض الأنواع معقدة للمبتدئين

🔄 البدائل

أدوات بديلة يمكنك استخدامها

type-fest
ts-toolbelt

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
// Partial - all properties optional
interface User { name: string; email: string; age: number; }
type UpdateUser = Partial<User>;
// { name?: string; email?: string; age?: number; }

// Pick - select specific properties
type UserName = Pick<User, 'name' | 'email'>;
// { name: string; email: string; }

// Omit - exclude specific properties
type UserWithoutAge = Omit<User, 'age'>;
// { name: string; email: string; }

// Record - create object type
type UserRoles = Record<'admin' | 'user' | 'guest', string>;
// { admin: string; user: string; guest: string; }

// ReturnType - get function return type
const getUser = (): User => ({ name: 'A', email: 'a@b.c', age: 25 });
type UserReturn = ReturnType<typeof getUser>; // User

// Parameters - get function parameters type
type UserParams = Parameters<(name: string, age: number) => void>;
// [name: string, age: number]

📚 أدوات أخرى في TypeScript

قد يعجبك أيضاً