Le 23 sept. 2014 à 16:35, C. Scott Ananian <[email protected]> a écrit :

> On Tue, Sep 23, 2014 at 10:04 AM, Claude Pache <[email protected]> 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):
>> 
>>    RegExp.prototype.run (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 `RE.p.run` (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.
>  --scott

I think that "deprecating" is a word that the web hardly understand. For 
instance, in the spec, `String.prototype.blink` (yuck!) isn't marked as 
"deprecated", but as "mandatory for web browsers". In our case, `.exec()`, 
`.match()`, etc. will still need to support some legacy stuff. Brand new 
methods will not.

—Claude

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to