123456789101112131415161718192021 |
- // 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 });
|