TypeScript • المستوى الرابع • الدرس 1
العودة لفهرس المستوىضبط إعدادات المترجم والتأمين (tsconfig.json & Strict Mode)
أهداف الدرس العلمية
- فهم أهمية خيارات المترجم داخل ملف
tsconfig.json. - تفعيل وضع الصرامة
"strict": trueوميزةstrictNullChecksللحماية القصوى. - إتقان أنماط الحماية من null:
if (product)وif (!product)وproduct?.. - كتابة دوال تُعيد قيمة افتراضية آمنة عند تمرير
nullبدل الانهيار.
1. قوة الملف tsconfig.json
يُعد قلب مشروع TypeScript، حيث يحدد كيفية ترجمة الأكواد إلى JavaScript متوافقة مع المتصفحات، وتعيين قواعد الصرامة التي تمنع كتابة أي أنواع غامضة أو غير محددة.
json
{
"compilerOptions": {
"strict": true,
"strictNullChecks": true,
"noImplicitAny": true,
"target": "ES2020",
"module": "ESNext"
}
}2. أنماط الحماية من القيم الفارغة
✅ النمط الإيجابي (Guard Clause)
افحص وجود القيمة قبل استخدامها:
if (product) { product.price }✅ النمط العكسي (Early Return)
اخرج مبكراً عند غياب القيمة:
if (!product) return 0;
التطبيق العملي المباشر
تحدي الدرس الأول: إضافة دالة حساب الخصم الآمنة
قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:
- أضف دالة
calculateDiscountتقبل معاملين:product: Product | nullوdiscountPercent: number. - اجعل نوع الإرجاع
numberصريحاً. - استخدم نمط Early Return: إذا كان
!productأعد0مباشرة. - احسب السعر بعد الخصم بالصيغة:
product.price - (product.price * discountPercent / 100). - استدع الدالة مرتين (مرة بكائن ومرة بـ
null) واطبع النتيجتين بـconsole.log.
⏳ جارٍ تحميل المحرر التفاعلي...