Tslint: تم طرح no-switch-case-fall-through على عبارات التبديل المتداخلة حيث تحتوي جميع حالات التبديل الداخلي على عبارات رجوع

تم إنشاؤها على ٢ سبتمبر ٢٠١٦  ·  3تعليقات  ·  مصدر: palantir/tslint

تقرير الشوائب

  • إصدار TSLint : 3.2.0
  • إصدار TypeScript : 1.8.10
  • تشغيل TSLint عبر : Node.js API

    يتم فحص كود TypeScript

function foo (a: number, b: number): number {
    switch (a) {
        case 1:
            switch (b) {
                case 2:
                    return 1;
                default:
                    return 2;
            }
        default:
            return 3;
    }
}

بتكوين tslint.json :

(include if relevant)

السلوك الفعلي

يرمي حالة عدم وجود مفتاح تبديل في السطر قبل الحالة الافتراضية للحلقة الخارجية.

سلوك متوقع

لا خطأ.

P2 Fixed Bug

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

لا تحتاج حتى إلى أن تكون متداخلة للرمي.

function(a: number, b:number): void {
    switch (a) {
        case 1: {
            return;
        } // Throws
        case 2:
            return;
        default:
            return;
    }
}

ال 3 كومينتر

الشيء نفسه بالنسبة ل

function(a: number, b:number): void {
    switch (a) {
        case 1:
            if (b > 10) {
                return;
            } else {
                return;
            }
        case 2:
            return;
        default:
            return;
    }
}

لا تحتاج حتى إلى أن تكون متداخلة للرمي.

function(a: number, b:number): void {
    switch (a) {
        case 1: {
            return;
        } // Throws
        case 2:
            return;
        default:
            return;
    }
}

كذلك هنا - no-switch-case-fall-through لا يتعرف على break/return داخل كتل الحالة case ... { ... } .

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