أنواع keyof والوصول المفهرس (مقدمة)
استخدم keyof لإنشاء اتحادات من أسماء الخصائص، وأنواع الوصول المفهرس (T[K] / T["prop"]) لقراءة أنواع الخصائص بأمان.
أنواع keyof والوصول المفهرس (مقدمة) درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 3 دروس في المجموع.
مقدمة
الهدف: إنشاء مساعدات أكثر أماناً باستخدام keyof (اتحادات أسماء الخصائص) والوصول المفهرس (T[K]) لقراءة أنواع الخصائص.
keyof
ينتج keyof اتحاداً من أسماء خصائص النوع، مثل "id" | "name" | "email".
interface User {
id: number;
name: string;
email?: string;
}
type UserKeys = keyof User; // "id" | "name" | "email"keyof typeof
استخدم keyof typeof للحصول على المفاتيح من قيمة، أي كائن، عند تحديد أنواع المعاملات.
const SETTINGS = {
theme: "dark",
lang: "en",
} as const;
type SettingKey = keyof typeof SETTINGS; // "theme" | "lang"الوصول المفهرس
يعيد الوصول المفهرس نوع خاصية معينة: إذ إن User["name"] هو string.
interface User {
id: number;
name: string;
email?: string;
}
type NameType = User["name"]; // string
مساعد getProperty
اجمع بين keyof وK extends keyof T لتقييد المفاتيح وإرجاع النوع الدقيق T[K].
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}
const u = { id: 1, name: "Ada" };
const v1 = getProperty(u, "name"); // string
const v2 = getProperty(u, "id"); // number
console.log(v1.toUpperCase(), v2.toFixed(0));نصائح
نصائح:
- فضّل keyof typeof للمفاتيح المأخوذة من الكائنات.
- استخدم T[K] لعكس أنواع الخصائص من دون تكرار النماذج.
- تجنّب المفاتيح المعتمدة على السلاسل النصية، واعتمد على الاتحادات لضمان الأمان.
فحص الوصول المفهرس
فحص سريع: ماذا يمثّل T[K]؟
خلاصة
خلاصة: يوفر keyof اتحادات المفاتيح، ويستمد keyof typeof المفاتيح من القيم، ويقرأ T[K] أنواع الخصائص، مما يجعله مثالياً للمساعدات الآمنة.
الأسئلة الشائعة
هل درس «أنواع keyof والوصول المفهرس (مقدمة)» مجاني؟
نعم — نص درس «أنواع keyof والوصول المفهرس (مقدمة)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 3 دروس في المجموع.
ماذا ستتعلم في «أنواع keyof والوصول المفهرس (مقدمة)»؟
استخدم keyof لإنشاء اتحادات من أسماء الخصائص، وأنواع الوصول المفهرس (T[K] / T["prop"]) لقراءة أنواع الخصائص بأمان. تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟
لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «أنواع keyof والوصول المفهرس (مقدمة)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟
نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الدوال العامة والقيود (extends والمعاملات الافتراضية)
- Partial و Readonly و Record و Pick و Omit
- أنواع keyof والوصول المفهرس (مقدمة)