Според Ръководството за RegExp на MDN литералите на регулярните изрази се компилират, докато RegExp обектите, създадени чрез извикване на конструктора, не са.
Въпросът ми е сега, кога се провежда компилацията? Тъй като литералът има уникален синтаксис, той се идентифицира като регулярен израз по време на анализ. Това би направило възможно компилирането му веднъж и повторното използване на резултата всеки път, когато бъде оценен, в резултат на което двата примера имат (почти) еднаква скорост.
var str = "Hello World";
// Example 1
var regExp1 = /[aeiou]+/gi;
for(var i = 0; i < 1000; ++i)
regExp1.exec(str);
// Example 2
for(var j = 0; j < 1000; ++j)
/[aeiou]+/gi.exec(str);
Някакви идеи дали това се използва на практика от някоя JavaScript машина?