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

はじめに

Qiitaでなぜかバズりました。嬉しかったですw

最高でトレンド2位、1日で105いいねがついてニヤニヤが止まりませんでしたありがとうございます本当にありがとうございます。

いいねしてない人はいいねしていってね☆

と言うことでどうぞ!

導入

今日も軽快にelse ifしてますか?
日常的に何気なく使っているJavascriptelse 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('仲良くなってみたいです');

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

最後に

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