gpt4 book ai didi

javascript - 动态加载 typescript 类( typescript 的反射)

转载 作者:IT王子 更新时间:2023-10-29 03:19:57 32 4
gpt4 key购买 nike

我希望能够实例化一个 typescript 类,在其中我可以在运行时获取类和构造函数的详细信息。我想编写的函数将接受类名和构造函数参数。

export function createInstance(moduleName : string, className : string, instanceParameters : string[]) {
//return new [moduleName].[className]([instancePameters]); (THIS IS THE BIT I DON'T KNOW HOW TO DO)
}

最佳答案

你可以试试:

var newInstance = Object.create(window[className].prototype);
newInstance.constructor.apply(newInstance, instanceparameters);
return newInstance;

编辑 这个版本正在使用 TypeScript Playground ,例如:

class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}

//instance creation here
var greeter = Object.create(window["Greeter"].prototype);
greeter.constructor.apply(greeter, new Array("World"));

var button = document.createElement('button');
button.innerText = "Say Hello";
button.onclick = function() {
alert(greeter.greet());
}

document.body.appendChild(button);

关于javascript - 动态加载 typescript 类( typescript 的反射),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338610/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com