これは有効ですか?スイッチにif/elseをネストするのに有効なJavaScriptですか?
switch(foo) {
case 'bar':
if(raz == 'something') {
// execute
} else {
// do something else
}
break;
...
default:
// yada yada
}
これは有効ですか?スイッチにif/elseをネストするのに有効なJavaScriptですか?
switch(foo) {
case 'bar':
if(raz == 'something') {
// execute
} else {
// do something else
}
break;
...
default:
// yada yada
}
はい、it is perfectly validです。あなたはそれを試しましたか?
何かを試して動作させても、必ずしも有効というわけではありません。それはちょうど亀裂を通って落ちるものであるかもしれないが、適切ではない。ウェブ世界の多くのものは、「有効な」マークアップやコードではありませんが、ある意味で機能します。 –
JavaScriptはブードゥー教の魔法のようなものではありません。ケースに関連するステートメントは何でもかまいません - 私はまだ逆の例を見ていません。 – karim79
@ karim79&Bertrand Marron - 私は前に作業していたコードで試してみました。それは動作しませんでしたが、私はそれが他の何かに起因する可能性があると思います。私はそれをどこでも純粋なif/elseに変更し、その他の変更も加えました。他の変更は、それがif/elseへの変更ではなく働き始めたことかもしれません。 – Ben
あなたが本当にしなければならない場合は、より良い方法でswitch
とif
を組み合わせることができます。
switch (true) {
case (foo === 'bar' && raz === 'something'):
// execute
break;
case (foo === 'bar'):
// do something else
break;
default:
// yada yada
}
が、それがここに来た人々がどのように見て助けるかもしれませんswitch
とif
のステートメントを結合またはネストします。
試しましたか? –