22 lines
		
	
	
		
			790 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			790 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// 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 });
 |