web-dev-qa-db-ja.com

Javascript switchステートメント:2つのケースで同じコードを実行する方法はありますか?

コピーアンドペーストせずに2つの異なるケース値を同じコードブロックに割り当てる方法はありますか?たとえば、68と40未満では同じコードを実行する必要がありますが、30は関係ありません。

case 68:
   //Do something
break;

case 40:
   //Do the same thing
break;

case 30:
   //Do something different
break;

このように動作するはずだと考えるのは間違っていますか(明らかに動作しませんが)?

case 68 || 40:
   //Do something
break;

case 30:
   //Do something else
break;
60
nipponese

休憩せずに次々と並べてください

switch (myVar) {
  case 68:
  case 40:
    // Do stuff
  break;

  case 30:
    // Do stuff
  break;
}
162
klaustopher

はい、次のように、関連するcaseステートメントを並べて配置するだけです。

case 40:  // Fallthrough
case 68:
   // Do something
   break;

case 30:
   // Do something different
   break;

Fallthroughコメントには2つの理由があります。

  • これは、意図的にこれを行っていることを人間の読者に安心させる
  • 偶発的なフォールスルーの可能性に関する警告を発行するLintのようなツールからの警告を黙らせます。
19
RichieHindle
case 68:
case 40:
  // stuff
  break;
4
BNL

図に示すようにスイッチケースをクラブ化できます

また、2つのケースに限定されず、任意のnoに拡張できます。ケースの。

0
RkHirpara