switch文で、caseに式を使うと、switch文より前に定義した変数が使えなかった。
以下のコードを見て、
case num>2 の部分をコメントアウトした場合
上に定義したstr1,str2にarr[0], arr[1]が代入できる。
しかし、
case 2 の部分をコメントアウトした場合、
str1,str2に値を代入できず、上で定義した空 ‘ ‘となる。
[codepen_embed height=”300″ default_tab=”html,result” slug_hash=”XWemyRO” editable=”true” user=”rea-jin”]See the Pen <a href=”https://codepen.io/rea-jin/pen/XWemyRO”>
Untitled</a> by rea-jin (<a href=”https://codepen.io/rea-jin”>@rea-jin</a>)
on <a href=”https://codepen.io”>CodePen</a>.[/codepen_embed]
そもそも switch文のcaseには、switchの引数部分の値が入る。
なので、不等号式などはかけない。
もし、不等号式などの条件分けをしたいのならば、
switch(true)とすれば、不等号式などが使える。
以下のコードを見て、どちらかをコメントアウトして動かして欲しい。
[codepen_embed height=”300″ default_tab=”html,result” slug_hash=”GRMpzOV” editable=”true” user=”rea-jin”]See the Pen <a href=”https://codepen.io/rea-jin/pen/GRMpzOV”>
Untitled</a> by rea-jin (<a href=”https://codepen.io/rea-jin”>@rea-jin</a>)
on <a href=”https://codepen.io”>CodePen</a>.[/codepen_embed]
以上のようにすれば、コードが正しく動く。
しかし、以下によると、あまり見慣れない? ので、 if文で書いた方が、わかりやすいとのこと。
https://qiita.com/t_uda/items/1969e09a970d71e4cfd6
参考
https://www.pasonatech.co.jp/workstyle/column/detail.html?p=2624
![]() |
|