Typescript: تحذير الترجمة غير الضروري: TS2454

تم إنشاؤها على ٢٤ سبتمبر ٢٠١٧  ·  3تعليقات  ·  مصدر: microsoft/TypeScript

يرجى الاطلاع على لقطة الشاشة هذه:

screenshot 2017-09-23 15 41 31

في هذه الحالة ، تم التصريح عن temp بالفعل ، ولكن ربما لم يتم تعيينه مطلقًا. يمنع if-check استخدامه ، إذا لم يتم تعيينه ، لذلك قد يكون تحذير الترجمة هذا غير ضروري؟

شكر

Question

التعليق الأكثر فائدة

let temp: string | undefined أكثر دقة لهذا الكود في عالم الشيكات الخالية الصارمة ، ويصلح الخطأ أيضًا.

ال 3 كومينتر

أتفهم وجهة نظرك ، ولكن في معظم الأحيان يتم استخدام عبارات "if" للتحقق من قيمة المتغير ، وليس لمعرفة ما إذا كان قد تم تعيينه. هذا التحذير مفيد لأنه في كثير من الأحيان (على الأقل في تجربتي وفي معظم الكود الاحترافي الذي رأيته) هذا الموقف ليس في الواقع نية المبرمج.

كملاحظة جانبية ، نظرًا لأن "temp" يتم تعريفها داخل عبارة if فقط ، يمكنك دمج الشرطين (إلا إذا كان يمكن لـ path.normalize () إرجاع قيمة خاطئة ، وفي هذه الحالة يمكنك فقط تعيين قيمة خاطئة للدرجة المؤقتة في إعلان أو في فرع آخر على أي حال).

let temp: string | undefined أكثر دقة لهذا الكود في عالم الشيكات الخالية الصارمة ، ويصلح الخطأ أيضًا.

يعد مقتطف الشفرة الذي يمكن نسخه ولصقه في مخزن نصي بدلاً من لقطة شاشة من IDE أكثر فائدة بشكل عام.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات