switch
の利点として、
- いちいち
if (条件式) ;
を記述する手間が省ける(break
はたくさん書きますが…)
- わざと
break
を外して、対応するcase以下の処理をまとめて適用させることができる。
があります。
特に重要という訳ではないですが「便利に使える」モノです。
js
1var txt = '';
2var pattern = 'all'; // half , one , その他
3
4switch( pattern ){
5case 'all':
6 txt += 'all';
7case 'half':
8 txt += 'half';
9case 'one':
10 txt += 'one';
11 break;
12default:
13 txt = 'default';
14}
15console.log(txt); // allhalfone
js
1var txt = '';
2var pattern = 'all'; // half , one , その他
3
4if (pattern === 'all') {
5 txt = 'allhalfone';
6} else if (pattern === 'half') {
7 txt = 'halfone';
8} else if (pattern === 'one') {
9 txt = 'one';
10} else {
11 txt = 'default';
12}
13console.log(txt); // allhalfone
ちなみに、上記例の場合30文字程度省略できます。
書き換え
そして、提示されたコードを書き換えるなら
js
1var signal = "red";
2console.log(getCommand(signal));
3
4function getCommand(signal){
5 if (signal === "red") return "stop!";
6 if (signal === "green" || signal === "blue") return "go!";
7 if (signal === "yellow") return "slow down";
8 return "no signal";
9}
10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。