الدرس 10 من 10

unknown بدل any

هدف الدرس

افحص قبل أن تستعمل

01

الشرح

any يُطفئ المترجم: كل عملية عليه مسموحة، وكل خطأ يمرّ إلى وقت التشغيل. وJSON.parse تُرجع any، فالبيانات الآتية من الخارج تدخل كودك بلا فحص. شغّل كود البداية وانظر إلى 30001: منفذ وصل نصًّا، فصار الجمع لصقًا.

unknown عكسه: يقبل أي قيمة، لكنه لا يسمح بأي عملية قبل أن تثبت ما هي. وtypeof و!== null وin تضيّق النوع خطوة بعد خطوة حتى يصير الاستعمال آمنًا.

والفخ الشائع: typeof null === "object". ففحص typeof data === "object" وحده لا يكفي قبل قراءة خاصية منه.

02

المطلوب

اجعل safeParse تُرجع unknown، ثم ضيّق الناتج في portFrom: تُرجع port إن كان رقمًا، و8080 في كل حالة أخرى.

معايير التصحيح

6 معايير
  1. لا أخطاء أنواع
  2. ناتج safeParse لا يُستعمل قبل فحصه
  3. وبعد التضييق يُستعمل بلا خطأ
  4. portFrom تقرأ المنفذ الرقمي
  5. والمنفذ النصّي يُرجع 8080
  6. وقيمة null لا تُسقطها
main.ts
المخرجاتTypeScript 5.9

جارٍ تحميل مترجم TypeScript… مرّة واحدة ثم يحفظه المتصفح.

–/6

يبدأ الفحص حين تجهز البيئة.

6 معايير في بطاقة «المطلوب».