Run details:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0
Firefox 119
Ubuntu
Desktop
one year ago
Test name Executions per second
regex 6216.2 Ops/sec
startWith 7478.9 Ops/sec
Script Preparation code:
x
 
var foo = ['+++', '---', '===', '@@@', null, undefined, '', 'foo'];
var test = [];
for (var i = 0; i < 1000; i++) {
  test = [...test, ...foo];
}
Tests:
  • regex

     
    test.map((x) => /^\+\-\=\@/.test(x) ? "'" + x : x);
  • startWith

     
    test.map((x) => {
      if (
        x?.startsWith('+') ||
        x?.startsWith('-') ||
        x?.startsWith('=') ||
        x?.startsWith('@')
      ) {
        return "'" + x;
      }
        
      return x;
    });