Run details:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
Chrome 79
Windows
Desktop
5 years ago
Test name Executions per second
Switch 10787.8 Ops/sec
Object Function 10436.7 Ops/sec
Object Property 9412.3 Ops/sec
Script Preparation code:
AخA
 
var str = 'abc';
str = str.charAt(Math.floor(Math.random() * 3));
Tests:
  • Switch

    x
     
    function test (str) {
      switch (str) {
        case 'a': return 'A'; break;
        case 'b': return 'B'; break;
        case 'c': return 'C'; break;
      }
    }
    console.log(test(str));
  • Object Function

     
    const obj = {
      a: () => 'A',
      b: () => 'B',
      c: () => 'C'
    };
    console.log(obj[str]());
  • Object Property

     
    const obj = {
      a: 'A',
      b: 'B',
      c: 'C'
    };
    console.log(obj[str]);