6

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*/
}

このコードは、ファイルのバージョン情報をチェックし、ソフトウェアの最新バージョンと互換性があるようにアップグレードします。caseしたがって、複数のバージョンを介してファイルをアップグレードできるように、s が意図的に失敗するようになっています。

ただし、おそらく有効であるにもかかわらず、追加され エラーメッセージが表示されます。/*falls through*

caseJSHint で s を正常に通過させるにはどうすればよいですか?

4

1 に答える 1

17

JSHint は、コメントが の直前の行にあることを期待しているようcaseです。

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

ソース コードの説明によると、それ以外の場合はコメントを認識しません。

// 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`.
于 2013-09-25T21:53:56.150 に答える