On Jun 5, 2014, at 5:52 PM, Brendan Eich <bren...@mozilla.org> wrote:
> 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"); > } need to make sure accessor methods use the right this value: 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”); } > });
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss