NodeJS - Javascript从String创建对象实例

时间:2016-05-29 09:14:47

标签: javascript node.js

在我的Node.Js应用程序(服务器端)中,我必须创建一个对象实例(这是一个类,所以使用new MyClass())但MyClass是string

可以从String创建对象实例吗?我在浏览器方面看到我可以使用window,但是我在服务器端......

我需要这个,因为我现在将在运行时使用该类的名称,因此我无法在“代码”中实例化此对象。

此外,我可以有几个需要以这种方式创建的类。 简而言之,我有一个显式这种类的配置文件,我需要在真正的JavaScript对象中转换这个字符串。

2 个答案:

答案 0 :(得分:10)

使用nodejs,window被"替换为"按global。因此,如果您的类在全局上下文中可用,则可以使用global["ClassName"]来获取它。

但是,如果可以的话,您也可以考虑使用构造函数字典。它通常更清洁。这是一个例子。

var constructors = {
   Class1: Class1,
   Class2: Class2
};

var obj1 = new constructors["Class1"](args);

答案 1 :(得分:2)

你的意思是

var myClass = Object.assign(new MyClass(), JSON.parse(classString));