switch(true) イディオムとは ここでは, switch(true) イディオム とは,以下のように switch 構文を用いて if, else if と意味的に等価なものを実現しようとするコードパターンを指すことにします. function hoge(x) { switch (true) { case x < 0: console.log(x + " は自然数ではありません."); break; case x === 0: console.log("ここでは 0 は自然数です."); break; case x > 0: console.log(x + " は正の数です."); break; default: console.log(x + " は数ではないようです."); } } 一部界隈(?)ではどうやら割と認識されているらしく,そこそこ使われているようです(記事末尾に
![switch(true) イディオム考察 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3576a466f79a1d766bcc14f1b1f6efc8846bc47e/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9c3dpdGNoJTI4dHJ1ZSUyOSUyMCVFMyU4MiVBNCVFMyU4MyU4NyVFMyU4MiVBMyVFMyU4MiVBQSVFMyU4MyVBMCVFOCU4MCU4MyVFNSVBRiU5RiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ODFlYmRiYWU5MTQxOTNkZmY1ZWUzMTAyZjI0Y2JmMTg%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdF91ZGEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTQ3OGJhNzE0NjA2ZWVhN2NkMDA0MzBiY2E3ZjNjN2E5%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dfd6210918e3a588da6e006ba5b3ef9ec)