Discussion on: A Case Against Switches

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"