mirror of https://github.com/tc39/test262.git
23 lines
544 B
JavaScript
23 lines
544 B
JavaScript
// Copyright (C) 2017 André Bargull. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/*---
|
|
description: |
|
|
Test if a given function is a constructor function.
|
|
defines: [isConstructor]
|
|
features: [Reflect.construct]
|
|
---*/
|
|
|
|
function isConstructor(f) {
|
|
if (typeof f !== "function") {
|
|
throw new Test262Error("isConstructor invoked with a non-function value");
|
|
}
|
|
|
|
try {
|
|
Reflect.construct(function(){}, [], f);
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|