RegExps that don't modify global state?

C. Scott Ananian ecmascript at
Tue Sep 23 07:35:15 PDT 2014

On Tue, Sep 23, 2014 at 10:04 AM, Claude Pache <claude.pache at> wrote:
> Another idea is to  to define a variant of the `RegExp.prototype.exec()` method, that does the Right Thing (doesn't read/write stuff on the RegExp instance, nor on the RegExp global, nor I don't know where):
> (str, params):
>         Do what is currently specified for `RegExp.prototype.exec`, except that:
>             * global, sticky and lastIndex properties are read and written on `params` instead of `this`
>             * implementations are not allowed to extend that method in order to mess with `RegExp`, etc.
> All other (legacy) methods are rewritten in terms of `` (in the current ES6 draft, they are mostly written in terms of `RE.p.exec`).

+1.  Deprecating the side-effects of the legacy methods might be tricky though.

More information about the es-discuss mailing list