Object Literal vs Switch

Benchmark created by Chris Burgin on


Test runner

Ready to run.

Testing in
TestOps/sec
Object Literal
const switchObject = {
  "2": "Number 2",
  "3": "Number 3",
  "4": "Number 4",
  "5": "Number 5",
  "6": "Number 6",
  "7": "Number 7",
  "8": "Number 8",
  "9": "Number 9",
  "10": "Number 10",
}

console.log(switchObject["7"])
ready
Switch
switch ("7") {
  case "2":
    console.log("Number 2")
    break;
  case "3":
    console.log("Number 3")
    break;
  case "4":
    console.log("Number 4")
    break;
  case "5":
    console.log("Number 5")
    break;
  case "6":
    console.log("Number 6")
    break;
  case "7":
    console.log("Number 7")
    break;
  case "8":
    console.log("Number 8")
    break;
  case "9":
    console.log("Number 9")
    break;
}
ready
Object Literal w/ Function
const switchFn = (sel) => ({
  "2": "Number 2",
  "3": "Number 3",
  "4": "Number 4",
  "5": "Number 5",
  "6": "Number 6",
  "7": "Number 7",
  "8": "Number 8",
  "9": "Number 9",
  "10": "Number 10"
})[sel]

console.log(switchFn("7"))
ready
Switch w/ Function
const switchFn = (sel) => {
  switch (sel) {
    case "2":
      return("Number 2")
      break;
    case "3":
      return("Number 3")
      break;
    case "4":
      return("Number 4")
      break;
    case "5":
      return("Number 5")
      break;
    case "6":
      return("Number 6")
      break;
    case "7":
      return("Number 7")
      break;
    case "8":
      return("Number 8")
      break;
    case "9":
      return("Number 9")
      break;
  }}

console.log(switchFn("7"))
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by Chris Burgin on