Javascript 如何在typescript构造函数运行之前设置一个属性

Javascript 如何在typescript构造函数运行之前设置一个属性,javascript,typescript,constructor,Javascript,Typescript,Constructor,一些JavaScript库和框架提供了早期绑定属性的可能性,因此开发人员甚至可以在构造函数中使用绑定的属性。我需要做同样的测试 主要问题是bind属性在构造函数中使用,我无法实例化控制器以覆盖测试 不能更改类的构造函数(添加新参数或其他内容),因为创建类的逻辑由框架管理,我不想向类的构造函数添加任何可选/非可选参数 我试过类似的东西。不走运,因为我错过了一些东西 function createMyController(bindProperty, ...controllerArgs) {

一些JavaScript库和框架提供了早期绑定属性的可能性,因此开发人员甚至可以在构造函数中使用绑定的属性。我需要做同样的测试

主要问题是bind属性在构造函数中使用,我无法实例化控制器以覆盖测试

不能更改类的构造函数(添加新参数或其他内容),因为创建类的逻辑由框架管理,我不想向类的构造函数添加任何可选/非可选参数

我试过类似的东西。不走运,因为我错过了一些东西

function createMyController(bindProperty, ...controllerArgs) {
        let myController = Object.create(MyController);
        myController.bindProperty = bindProperty;
        MyController.constructor.apply(myController, [...controllerArgs]);
        // post creation assignments or modifications
        return myController;
    }

Typescript构造函数允许使用这样做。

这种类型的绑定称为预绑定,例如在angularjs(Angular1)中使用过。这种预绑定背后的思想是在调用构造函数之前初始化一些属性

它可以通过首先启动某种类型的对象来解决。然后绑定所有需要的值。最后调用构造函数本身

function createMyController(bindProperty, ...controllerArgs) {
    let myController = Object.create(MyController.prototype);
    myController.bindProperty = bindProperty;
    MyController.call(myController, ...controllerArgs);
    // post creation assignments or modifications
    return myController;
}

谢谢你的回答,但恐怕我不能更改构造函数的参数