この記事ではrails5.2.3を使用しています
概要
jsで条件分岐する際にswitchの使用方法で引っかかったので備忘録if else との違いは?
こちらの記事で分かりやすく紹介されています。 https://qiita.com/taai/items/90cd190764f6dfcf6abd解説
switch文の基本書式
switch(式){
case 条件1:
条件1に当てはまる場合の処理
break;
case 条件2:
条件2に当てはまる場合の処理
break;
default どのcaseにも当てはまらない場合:
どのcaseにも当てはまらない場合の処理
}
switch(式){
・・・
}
ここの式と条件が一致した場合に指定した処理が行われます。
条件は上から順に読み込まれ、最初にヒットした条件の処理が実行されます。
例えば
let a = "あ"
switch(a){
case "あ":
console.log(0)
break;
case "い":
console.log(1)
break;
case "あ":
console.log(2)
break;
default:
console.log(3)
}
>> 0
条件に一致した最初のcaseが実行されました。
3つ目のcaseにも一致する条件がありますが、実行されるのは最初にヒットした1件のみなのでその後の処理は実行されません。
様々な条件の指定方法
こんな使い方もできます。let a = [1, 2, 3, 4, 5]
switch(true){
case a.length == 4:
console.log(0)
break;
case a.length == 5:
console.log(1)
break;
default:
console.log(2)
}
>> 1
こうすると、細かい条件指定ができます。
参考記事にはさらに応用的な使い方も紹介されているので、確認してみてください。
参考