Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36 Edg/101.0.1210.39
Chrome 101
Windows
Desktop
2 years ago
Test name Executions per second
Switch 9602.9 Ops/sec
Object Literal 9796.2 Ops/sec
Script Preparation code:
x
 
var str = 'abc';
str = str.charAt(Math.floor(Math.random() * 3));
function useSwitch(str) {
    switch (str) {
        case 'a':
            console.log('A');
            break;
        case 'b':
            console.log('B');
            break;
        case 'c':
            console.log('C');
            break;
    }
}
var objLiteral = {
  a: function() {
    console.log('A');
  },
  b: function() {
    console.log('B');
  },
  c: function() {
    console.log('C');
  }
}
Tests:
  • Switch

     
    useSwitch(str);
  • Object Literal

     
    objLiteral[str]();