Show More
Commit Description:
submission report
Commit Description:
submission report
References:
File last commit:
Show/Diff file:
Action:
node_modules/es-abstract/2016/OrdinaryHasInstance.js
| 25 lines
| 633 B
| application/javascript
| JavascriptLexer
|
r789 | 'use strict'; | |||
var GetIntrinsic = require('../GetIntrinsic'); | ||||
var $TypeError = GetIntrinsic('%TypeError%'); | ||||
var Get = require('./Get'); | ||||
var IsCallable = require('./IsCallable'); | ||||
var Type = require('./Type'); | ||||
// https://www.ecma-international.org/ecma-262/6.0/#sec-ordinaryhasinstance | ||||
module.exports = function OrdinaryHasInstance(C, O) { | ||||
if (IsCallable(C) === false) { | ||||
return false; | ||||
} | ||||
if (Type(O) !== 'Object') { | ||||
return false; | ||||
} | ||||
var P = Get(C, 'prototype'); | ||||
if (Type(P) !== 'Object') { | ||||
throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.'); | ||||
} | ||||
return O instanceof C; | ||||
}; | ||||