trap-is-undefined-receiver.js (678B)
1 // Copyright (C) 2016 Aleksey Shvayka. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 esid: sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver 5 description: > 6 Pass to target's [[Get]] correct receiver if trap is missing 7 info: | 8 [[Get]] (P, Receiver) 9 10 7. If trap is undefined, then 11 a. Return ? target.[[Get]](P, Receiver). 12 features: [Proxy] 13 ---*/ 14 15 var target = { 16 get attr() { 17 return this; 18 } 19 }; 20 21 var p = new Proxy(target, { 22 get: null 23 }); 24 assert.sameValue(p.attr, p); 25 26 var pParent = Object.create(new Proxy(target, {})); 27 assert.sameValue(pParent.attr, pParent); 28 29 reportCompare(0, 0);