construct()
-
construct()捕获器会在 new 操作符中被调用。对应的反射 API 方法为 Reflect.construct()
const myTarget = {}; const proxy = new Proxy(myTarget, { construct(target, argumentsList, newTarget) { console.log("construct()"); return Reflect.construct(...arguments); }, }); new proxy(); // construct()
-
返回值
construct()必须返回一个对象 -
拦截的操作
new proxy(...argumentsList); Reflect.construct(target, argumentsList, newTarget); -
捕获器程序处理参数
target: 目标对象;
argumentsList: 传给目标构造函数的参数列表;
newTarget: 最初被调用的构造函数; -
捕获器不变式
target 必须可以用作构造函数