| // 26.1.6 Reflect.get(target, propertyKey [, receiver]) |
| var gOPD = require('./_object-gopd'); |
| var getPrototypeOf = require('./_object-gpo'); |
| var has = require('./_has'); |
| var $export = require('./_export'); |
| var isObject = require('./_is-object'); |
| var anObject = require('./_an-object'); |
| |
| function get(target, propertyKey /* , receiver */) { |
| var receiver = arguments.length < 3 ? target : arguments[2]; |
| var desc, proto; |
| if (anObject(target) === receiver) return target[propertyKey]; |
| if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') |
| ? desc.value |
| : desc.get !== undefined |
| ? desc.get.call(receiver) |
| : undefined; |
| if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); |
| } |
| |
| $export($export.S, 'Reflect', { get: get }); |