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

اختبار الوحدة: إيصال TypeScript إلى الإنتاج

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

السؤال 1 من 5

سكربت يُشغَّل بـ node checkout.ts (تجريد الأنواع المدمج في Node) يحتوي enum Channel { Web = 'web' } ويفشل عند البدء. أيّ خيار في الـ compiler كان سيعلّم الـ enum أثناء tsc؟

السؤال 2 من 5

لماذا يمكن أن يُنفَّذ هذا الخصم من البطاقة والسلة غير مقفلة؟

TypeScript
async function pay(cartId: string, needsLock: boolean) {
  if (needsLock) {
    using lock = acquireCartLock(cartId);
  }
  await charge(cartId);
}
السؤال 3 من 5

يقع interface Window { dataLayer: unknown[] } في المستوى الأعلى من src/analytics.ts، وفيه imports أيضًا. وما زال window.dataLayer خطأً. لماذا؟

السؤال 4 من 5

مستودع أحادي (monorepo) فيه ست حزم تُفحص أنواعها كبرنامج واحد كبير، وكل تغيير صغير يعيد فحصها كلها في 90 ثانية. أيّ تغيير يساعد أكثر؟

السؤال 5 من 5

ملف .js يبدأ بـ // @ts-check ويعلن /** @param {Order} order */ function ship(order) { … }. ماذا يفعل TypeScript به (مع تفعيل allowJs)؟

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