Show More
Commit Description:
submission report
Commit Description:
submission report
References:
File last commit:
Show/Diff file:
Action:
node_modules/es-abstract/2017/GetV.js
| 29 lines
| 571 B
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var GetIntrinsic = require('../GetIntrinsic'); | ||||
var $TypeError = GetIntrinsic('%TypeError%'); | ||||
var IsPropertyKey = require('./IsPropertyKey'); | ||||
var ToObject = require('./ToObject'); | ||||
/** | ||||
* 7.3.2 GetV (V, P) | ||||
* 1. Assert: IsPropertyKey(P) is true. | ||||
* 2. Let O be ToObject(V). | ||||
* 3. ReturnIfAbrupt(O). | ||||
* 4. Return O.[[Get]](P, V). | ||||
*/ | ||||
module.exports = function GetV(V, P) { | ||||
// 7.3.2.1 | ||||
if (!IsPropertyKey(P)) { | ||||
throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true'); | ||||
} | ||||
// 7.3.2.2-3 | ||||
var O = ToObject(V); | ||||
// 7.3.2.4 | ||||
return O[P]; | ||||
}; | ||||