loading...

Discussion on: A Case Against Switches

Collapse
lietux profile image
Janne "Lietu" Enberg

If you want something like that, it really seems much less "magical" to simply use a class + methods.

Even in old JS this seems clearer:

function spellbook() {
}

spellbook.prototype = {
  fireball: function() {
    return 'Wizard casts Fireball!'
  },
  iceshard: function() {
    return 'Wizard casts Ice Shard!'
  },
  arcanemissiles: function() {
    return 'Wizard casts Arcane Missiles'
  },
  polymorph: function() {
    return 'Wizard casts Polymorph!'
  },
  default: function() {
    return 'Wizard doesn\'t know that spell.'
  }
}

var spells = new spellbook()
var spell = 'fireball'
if (!spells[spell]) {
  spell = "default"
}
console.log(spells[spell]())