はじめに
JavaScript Advent Calendar 2017 - Qiitaの12日目の記事です。
なぜか間違えて一週間早く投稿しちゃっていますね。なんででしょうね?
導入
今日も軽快にelse if
してますか?
日常的に何気なく使っているJavascriptのelse if
ですが、
実はそんな構文存在しなかったんです!!
else ifいつも使ってるよって
ええ、僕も使ってますよ。こんな風にね。
// パターンA
if(gender === '男性'){
console.log('興味がありません');
}else if(gender === '女性'){
console.log('大好きです');
}else{
console.log('仲良くなってみたいです');
}
// パターンB
if(gender === '男性')
console.log('興味がありません');
else if(gender === '女性')
console.log('大好きです');
else
console.log('仲良くなってみたいです');
でも実際はelse
とif
のネストで生成されていたんです。
「else if」は「else」と「if」の合わせ技
このことは公式にリファレンスにも記述されています。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/if...else
上記のソースが適切にインデントされていたらこんな感じです。
// パターンA
if(gender === '男性'){
console.log('興味がありません');
}else
if(gender === '女性'){
console.log('大好きです');
}else{
console.log('仲良くなってみたいです');
}
// パターンB
if(gender === '男性')
console.log('興味がありません');
else
if(gender === '女性')
console.log('大好きです');
else
console.log('仲良くなってみたいです');
最後に
まとめてみるとかなり短くなってしまいましたね。
でも僕自身この事実を知った時に「な...なんだってー」となったので共有したいなと思いました。
知らないだけでこう言ったことって多いんですかね...