My ECMAScript 7 wishlist

Brendan Eich brendan at mozilla.org
Fri Jun 6 17:21:57 PDT 2014


Just FTR, I'll put a ratioanlized ES7 proposal on the agenda for the 
July TC39 meeting, as per

https://twitter.com/BrendanEich/status/475067783282057216

Thanks to Nicholas for the suggestion!

/be

Brendan Eich wrote:
> Nicholas C. Zakas wrote:
>> It can be done with Proxy, but that kind of sucks because I always 
>> need to go through the extra step of creating the Proxy for each 
>> object and passing around the Proxy instead. To me, this is similar 
>> to setting a property to be readonly in strict mode, except its 
>> writeonly (or rather, write-first).
>
> What about the code I showed, which shows a singleton being spliced 
> high on many objects' prototype chains to handle the missing property 
> throw?
>
> js> var NoSuchProperty = Proxy({}, {
>   has: function(target, name) { return true; },
>   get: function(target, name, receiver) {
>     if (name in Object.prototype) {
>       return Reflect.get(Object.prototype, name, receiver);
>     }
>     throw new TypeError(name + " is not a defined property");
>   }
> });
> js> var obj = Object.create(NoSuchProperty)
> js> obj.foo = 42
> 42
> js> obj.foo
> 42
> js> obj.bar
> /tmp/p.js:7:4 TypeError: bar is not a defined property
>
> You could avoid Object.create by assigning to a Constructor.prototype, 
> or hacking with __proto__, of course.
>
> /be
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss


More information about the es-discuss mailing list