TypeScript / دليل حلول تحريري

حل أخطاء الخاصية غير الموجودة بتضييق مبرر

حدّد هل السبب تهجئة أو تصريح خاطئ أو قيمة اختيارية أو بديل اتحاد غير معالج قبل تعديل العقد.

وقت القراءة التقريبي: 3 دقيقةتاريخ مراجعة المحتوى

قاعدة معرفة للقراءة فقط · بلا تعليقات عامة

تعرّف على الأعراض

يبلغ الفاحص عن TS2339 لخاصية غير موجودة بالنوع أو أحد بدائل الاتحاد. قد نجح اختبار واحد لا المجال كاملًا. التشخيص ساكن ولا يثبت غياب الخاصية دائمًا فعليًا؛ اقرأ نوع المستقبل عند التعبير.

قد ينشأ العرض من تهجئة أو تصريح قديم أو كائن فارغ مستنتج أو اتحاد يحتاج تفرعًا. تخفي any والتأكيد المعلومات اللازمة لتمييز السبب.

افهم الأسباب المحتملة

  • يسمح الاتحاد بالمشترك حتى يضيقه دليل التدفق. لا يتاح أسلوب نصي لـstring | number قبل إثبات فرع النص. تضيف الاختيارية والفهرسة غيابًا، ولا يغير اختبار محدود ما يسمح به التوقيع لبقية المستدعين.
  • للخارج حد آخر؛ فلا تفحص الواجهة أو توقيع الحارس الحقول. صحّح التصريح وفق التنفيذ وعالج الاتحاد الصحيح بصدق. لا تضف عضوًا اختياريًا للجميع لمجرد إزالة الخطأ.

فحص المستقبل والمجال المسموح

يستدعي المقتطف toUpperCase قبل تحديد النص، ويسمح التوقيع بعدد لا يملك الأسلوب. هو غير قابل للتشغيل ولا ناتج مضمونًا. قارن المتطلب بالتوقيع: ضيّق العقد للنص فقط إذا صح، وإلا نفّذ البديلين. ابدأ بأول تشخيص مفيد لا التبعات.

typescript مثال تشخيص سياقي غير قابل للتشغيل
export {};
function render(value: string | number): string {
  return value.toUpperCase();
}

مرفوض عمدًا برمز TS2339 دون إسناد نتيجة تنفيذية.

التضييق بملاحظة فعلية

يحفظ التصحيح الاتحاد ويفحص typeof قبل الأسلوب. يبقى الاختبار في JavaScript بخلاف المعلمة والتأكيد. يعيد الفرعان نصًا بسياسة عددية صريحة. فرّع الاتحاد الكائني بعلامته وافحص null والحقول لـunknown. لا تستخدم الصدقية إذا صح الصفر والفراغ.

typescript تنفيذ بديلَي الإدخال المسموحين
export {};
function render(value: string | number): string {
  if (typeof value === "string") { return value.toUpperCase(); }
  return value.toFixed(1);
}
console.log(render("map"));
console.log(render(4));
الناتج المتوقع
MAP
4.0

يطبع فرع النص الحروف الكبيرة ويطبع العدد منزلة عشرية واحدة.

إصلاح طبقة الاختلاف الفعلية

إذا قَدِم التصريح فتحقق من الحزمة والواقع قبل تغييره. إذا غاب الحقل حقيقة فأصلح الإنشاء أو أعد فشلًا. عند زوال التضييق عبر التعديل أو رد لاحق احفظ قيمة مستقرة مفحوصة أو أعد التصميم. يجب أن يفحص الحارس ادعاءه؛ فقد يعيد الدائم true العيب خلف أنواع مقنعة.

تحقق من نجاح الإصلاح

ترجم المصحح بإعدادات المقرر وشغّل الناتج ليطبع MAP و4.0 بسطرين. افحص المرفوض ترجمة فقط لتأكيد TS2339 ولا تنفذه كبرنامج ذي نتيجة ناجحة.

أضف حالة لكل بديل وللغياب إذا سمح به العقد، وافحص الخارج المشوه منفصلًا. أكد حفظ المطلوب لا حذف بديل مشروع لإرضاء اختبار واحد.

امنع تكرار المشكلة

  • استخدم علامات مفيدة وتصريحات دقيقة وفهرسة مفحوصة وحراسًا محددة. لا تصلح أخطاء الخصائص بالتأكيد عادة وراجع التوقيع مقابل القيم المقبولة.

المراجع الرسمية