Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

はじめに

JavaScript Advent Calendar 2017 - Qiitaの12日目の記事です。

なぜか間違えて一週間早く投稿しちゃっていますね。なんででしょうね?

導入

今日も軽快に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('仲良くなってみたいです');

最後に

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

ayies128
株式会社illustrious CTO。 EC業務を色々な角度から効率化できるように日々システム開発を行っています。 システム開発の話から飲みに行こうって話までなんでもどうぞ。 うどんとお酒と #UVERWorld が大好きです。 世界で売るためのECインフラサービス「lismoa」の開発運営を行なっています。 https://lismoa.com/
http://nabesys.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした