Кэш V8 автоматически компилирует регулярные выражения?
Итак, я знаю, что в Javascript, создающем экземпляр регулярного выражения, он автоматически компилируется, и если это регулярное выражение сохраняется в переменной, он будет повторно использоваться без перекомпиляции. Пример:
var re = /[Ff]oo|[Bb]ar/;
"Foo".match(re); // ["Foo"]
"Baz".match(re); // null
Однако повторяются ли повторяющиеся регулярные выражения или V8 (Chrome / Node.js) разумно использует их повторно (как это делает PHP с функциями preg_ *)?
function isFooBar(str) {
return str.match(/[Ff]oo|[Bb]ar/);
}
isFooBar("Foo"); // ["Foo"]
isFooBar("Baz"); // null
Итак, чтобы уточнить, я знаю, что первый пример приводит к одной компиляции регулярного выражения. Но как насчет второго примера?