当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Reflect.construct()用法及代码示例


静态 Reflect.construct() 方法允许使用可变数量的参数调用构造函数。它还提供了指定不同原型的附加选项。

用法

Reflect.construct(target, argumentsList[, newTarget])

参数

target: 它是要调用的目标函数。

argumentsList: 它是一个 array-like 对象,指定应使用哪个目标调用的参数。

newTarget: 它是一个应该使用其原型的构造函数。另请参阅 new.target 运算符。如果 newTarget 不存在,它将被视为一个目标。

返回

此方法返回目标的新实例(或 newTarget 如果存在),由目标初始化为具有给定参数的构造函数。

异常

如果 target 或 newTarget 不是构造函数,则此异常将引发 TypeError。

例子1

const a = new Array(1,2,3);
const b = Reflect.construct ( Array, [1,2,3] );
console.log(a);
console.log(b);

Output:

 [1, 2, 3]
 [1, 2, 3]

例子2

function func1(a, b, c) {
  this.sum = a + b + c;
}
const args = [1, 2, 3];
const object1 = new func1(...args);
console.log(object1.sum);

Output:

 6

例子3

function func1(a, b, c) {
  this.sum = a + b + c;
}
function func2(a, b, c) {
  this.sum = a + b + c;
}
const args2 = [1, 4, 3];
const args = [1, 2, 3];
const object1 = new func1(...args);
const object2 = Reflect.construct(func2, args2);
console.log(object2.sum);
console.log(object1.sum);

Output:

8
 6






相关用法


注:本文由纯净天空筛选整理自 JavaScript Reflect.construct() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。