You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					22 lines
				
				790 B
			
		
		
			
		
	
	
					22 lines
				
				790 B
			| 
											3 years ago
										 | // 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 }); |