运行时动态生成类
我们都知道javascript是一个动态脚本语言,那能否在运行时动态创建类(方法呢),当然是可以的,如下操作:
const name = "name"; // 类名,可以从配置文件/后端获取
const classMap: Record<string, any> = {};
// 基类,非必须
class Base {
constructor() {
console.log("test");
}
}
new Base();
// 动态创建类
const myClass = eval(`(() => (class ${name} extends Base {}))()`);
// 保存动态创建的类
classMap[name] = myClass;
console.log(classMap);
// 生成实例
new (classMap[name])();