keyof وأنواع الوصول المفهرس
اصلوا إلى أنواع خصائص الكائنات ديناميكيًا باستخدام keyof وT[K]
keyof وأنواع الوصول المفهرس درس مجاني في TypeScript Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في TypeScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة TypeScript Academy 4 دروس في المجموع.
مرحبًا
أساسيات keyof
interface User { id: number; name: string; email: string; }
type UserKeys = keyof User; // 'id' | 'name' | 'email'الوصول المفهرس: T[K]
type IdType = User['id']; // number
type NameType = User['name']; // stringالوصول الديناميكي إلى الخصائص
function getProperty<T, K extends keyof T>(obj: T, key: K): T[K] {
return obj[key];
}
const name = getProperty(user, 'name'); // stringkeyof مع typeof
const config = { host: 'localhost', port: 3000 };
type ConfigKey = keyof typeof config; // 'host' | 'port'اتحاد الأنواع المفهرسة
type NumericValues = User['id' | 'age']; // number | number = numberاستخدام keyof مع المصفوفات
type ArrKey = keyof string[]; // number | 'length' | 'push' | ...
type Element = string[][number]; // stringالوصول المفهرس التكراري
type Address = { city: string; zip: string };
type Profile = { address: Address };
type City = Profile['address']['city']; // stringالقيود باستخدام keyof
function setProperty<T, K extends keyof T>(obj: T, key: K, value: T[K]): void {
obj[key] = value;
}تستخدم الأنواع المُحوَّلة keyof
type Readonly2<T> = { readonly [K in keyof T]: T[K] };keyof في الأنواع الشرطية
type StringKeys<T> = { [K in keyof T]: T[K] extends string ? K : never }[keyof T];تحقّق سريع
مراجعة
تعلم TypeScript مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 101
- الدروس
- 352
الأسئلة الشائعة
هل درس «keyof وأنواع الوصول المفهرس» مجاني؟
نعم — نص درس «keyof وأنواع الوصول المفهرس» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة TypeScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة TypeScript Academy 4 دروس في المجموع.
ماذا ستتعلم في «keyof وأنواع الوصول المفهرس»؟
اصلوا إلى أنواع خصائص الكائنات ديناميكيًا باستخدام keyof وT[K] تتمرن على TypeScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ TypeScript Academy؟
لا تُشترط خبرة سابقة. TypeScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «keyof وأنواع الوصول المفهرس»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس TypeScript Academy هذا؟
نعم. كل درس في TypeScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- keyof وأنواع الوصول المفهرس
- قيود الأنواع العامة: تضييق معاملات الأنواع
- الأنواع الشرطية: T extends U ? X : Y
- الأنواع الشرطية التوزيعية