Tslint: no-switch-case-fall-through dilempar pada pernyataan sakelar bersarang di mana semua kasing sakelar dalam memiliki pernyataan kembali

Dibuat pada 2 Sep 2016  ·  3Komentar  ·  Sumber: palantir/tslint

Laporan Bug

  • Versi TSLint : 3.2.0
  • Versi TypeScript : 1.8.10
  • Menjalankan TSLint melalui : Node.js API

    Kode TypeScript sedang dilinting

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

dengan konfigurasi tslint.json :

(include if relevant)

Perilaku sebenarnya

Melempar no-switch-case-fall-through pada baris sebelum case default dari loop luar.

Perilaku yang diharapkan

Tidak ada kesalahan.

P2 Fixed Bug

Komentar yang paling membantu

Bahkan tidak perlu bersarang untuk melempar.

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

Semua 3 komentar

Sama untuk

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

Bahkan tidak perlu bersarang untuk melempar.

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

Sama di sini - no-switch-case-fall-through tidak mengenali break/return di dalam blok huruf besar case ... { ... } .

Apakah halaman ini membantu?
0 / 5 - 0 peringkat