EduFlow
أنماط TypeScript المتقدّمة

اختبار الوحدة: البرمجة على مستوى الأنواع

خمسة أسئلة عن هذه الوحدة. أجب عنها كلها، ثم شاهد نتيجتك وسبب صحة كل إجابة أو خطئها.

السؤال 1 من 5

ما هو F؟

TypeScript
type Flags<T> = { [K in keyof T as T[K] extends boolean ? K : never]: T[K] };
type F = Flags<{ giftWrap: boolean; note: string; express: boolean }>;
السؤال 2 من 5

ما هو X؟

TypeScript
type IdOf<T> = T extends { id: infer I } ? I : never;
type X = IdOf<{ id: number } | { id: string } | { name: string }>;
السؤال 3 من 5

ما هو `on${Capitalize<'shipped' | 'cancelled'>}`؟

السؤال 4 من 5

ما هو Draft<{ readonly id: number; status: string }>؟

TypeScript
type Draft<T> = { -readonly [K in keyof T]?: T[K] };
السؤال 5 من 5

ما هو ElementOf<readonly string[]>؟

TypeScript
type ElementOf<T> = T extends (infer E)[] ? E : T;

5 أسئلة بلا إجابة