On Jun 5, 2014, at 5:52 PM, Brendan Eich <[email protected]> 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
[email protected]
https://mail.mozilla.org/listinfo/es-discuss