Tslint: 内部スイッチのすべてのケースにreturnステートメントがあるネストされたswitchステートメントでスローされるno-switch-case-fall-through

作成日 2016年09月02日  ·  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)

実際の動作

外側のループのデフォルトのケースの前の行でno-switch-case-fall-throughをスローします。

予想される行動

エラーはありません。

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は、ケースブロックcase ... { ... }内のbreak/return認識しません。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

rajinder-yadav picture rajinder-yadav  ·  3コメント

ypresto picture ypresto  ·  3コメント

dashmug picture dashmug  ·  3コメント

denkomanceski picture denkomanceski  ·  3コメント

zewa666 picture zewa666  ·  3コメント