💡

全俺がビックリ JavaScriptに「else if」構文は存在しなかった!

2023/09/14に公開

導入

今日も軽快にelse ifしてますか?:champagne:
日常的に何気なく使っているJavascriptのelse ifですが、
実はそんな構文存在しなかったんです!!:hatching_chick:

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('仲良くなってみたいです');


でも実際はelseifのネストで生成されていたんです。

「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('仲良くなってみたいです');
  

最後に

まとめてみるとかなり短くなってしまいましたね。
でも僕自身この事実を知った時に「な...なんだってー」となったので共有したいなと思いました。
知らないだけでこう言ったことって多いんですかね...

Discussion