My ECMAScript 7 wishlist

Brendan Eich brendan at mozilla.org
Thu Jun 5 17:52:47 PDT 2014


Rick Waldron wrote:
>
>     * `Object.preventUndeclaredGet()` - change an object's behavior to
>     throw an error if you try to read from a property that doesn't
>     exist (instead of returning `undefine`).
>
>
> This can be achieved with Proxy right, or is that too cumbersome?

js> var NoSuchProperty = Proxy({}, {
   has: function(target, name) { return true; },
   get: function(target, name, receiver) {
     if (name in Object.prototype) {
       return Object.prototype[name];
     }
     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

/be
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20140605/a33af298/attachment.html>


More information about the es-discuss mailing list