Tslint: 在嵌套的 switch 语句上抛出 no-switch-case-fall-through,其中内部 switch 的所有情况都有 return 语句

创建于 2016-09-02  ·  3评论  ·  资料来源: palantir/tslint

错误报告

  • TSLint 版本3.2.0
  • 打字稿版本1.8.10
  • 通过: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无法识别break/return内部 case 块case ... { ... }

此页面是否有帮助?
0 / 5 - 0 等级