【要件】
受け取った animal_id に応じて、以下のとおり表示したい。
animal_id 表示名 1 cat 2 dog 3 lion 4 panda 5 giraffe 
はい。きっと最初に思いつくのがif文による分岐ですよね。
console.log(animal_id); // 3
var animalName = '';
if(animal_id === 1) {
  animalName = 'cat';
} else if (animal_id === 2) {
  animalName = 'dog';
} else if (animal_id === 3) {
  animalName = 'lion';
} else if (animal_id === 4) {
  animalName = 'panda';
} else if (animal_id === 5) {
  animalName = 'giraffe';
}
console.log(animalName); // "lion"
多分こんなやつ。javascript習いたての人が書きそうな。
もちろんこれでも動くんですが、もうちょっと慣れてくると switch文で処理したくなりますよね?
console.log(animal_id); // 3
var animalName = '';
switch(animal_id) {
  case 1:
    animalName = 'cat';
    break;
  case 2:
    animalName = 'dog';
    break;
  case 3:
    animalName = 'lion';
    break;
  case 4:
    animalName = 'panda';
    break;
  case 5:
    animalName = 'giraffe';
    break;
}
console.log(animalName); // "lion"
だいぶすっきりしました。
可読性もメンテのしやすさも上がりました。
処理速度もifよりちょっと速いはずです。
そして、今日紹介したいのは第三の方法!僕も最近知ったのです。
console.log(animal_id); // 3
var animalName = ({
  1: 'cat',
  2: 'dog',
  3: 'lion',
  4: 'panda',
  5: 'giraffe',
})[animal_id];
console.log(animalName); // "lion"
短っ。
書くの楽っ。読むの楽っ。
目からうろこっ。
ていうかコロンブスの卵っ。
いいですねこれ。
早くこれを使うシーンが来ないかうずうずしてます。