> I think you're referring to the `eval` function?

Actually, I'm referring to proposing something new that would substitute for 
having to hack feature tests with `eval`.

These are the initial details of my idea, a `Reflect.supports(..)` method: 
https://gist.github.com/getify/1aac6cacec9cb6861706

Summary: `Reflect.supports( "(()=>{})" )` or `Reflect.supports( "let x" )` 
could test **just** for the ability to parse, as opposed to the 
compilation/execution that `eval(..)` does. It'd be much closer to `new 
Function(..)` except without the overhead of needing to actually produce the 
function object (and then have it be thrown away for GC).

This is inspired by 
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API,
 where FF has a `Reflect.parse(..)` method that is somewhat like what I'm 
suggesting, except that for feature tests we don't need the parse tree, just a 
true/false of if it succeeded.

An alternate form would be `Reflect.supports( Symbol.arrowFunction )`, where 
the engine is just specifically saying "yes" I support that feature by 
recognizing it by its unique built-in symbol name.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to