通过JSHint忽略切换

Dan*_*ett 6 javascript jshint

我正在通过JSHint运行我的代码,我遇到了这个错误:

break之前的预期声明case

在这段代码上:

switch(true)
{
    // Renames skill1=abc to section_8_1_body=abc
    case Major === 0 && Minor === 0 && Patch < 433:
        upgraded = upgraded.replace(/(\s+)skill(\d)=/gm, '$1section_8_$2_body=');
    /*falls through*/

    // Example
    case Major === 0 && Minor === 0 && Patch < 442:
        console.log('test');
    /*falls through*/
}
Run Code Online (Sandbox Code Playgroud)

代码检查文件的版本信息,并将其升级以与最新版本的软件兼容.因此,cases 有意通过,因此可以通过多个版本升级文件.

不过,我仍然收到错误消息, /*falls through*补充说,即使是所谓有效.

我怎样才能让我的cases在JSHint中顺利通过?

Jon*_*ski 17

JSHint似乎期望评论在此之前就行了case.

// Example
/* falls through */
case Major === 0 && Minor === 0 && Patch < 442:
    console.log('test');
Run Code Online (Sandbox Code Playgroud)

根据源代码中的描述,它不会以其他方式确认评论:

// You can tell JSHint that you don't use break intentionally by
// adding a comment /* falls through */ on a line just before
// the next `case`.
Run Code Online (Sandbox Code Playgroud)

  • 啊,谢谢乔纳森!我尝试删除`// Example`行,但我仍然遇到同样的错误.问题是`/*通过*/`和`case`之间的空白行. (3认同)