我有一个像这样的类层次结构:
|-> Square
AbstractShape -+-> Circle
|-> Triangle
现在,我想实现策略模式并创建一个存储在字符串中的类对象。在 PHP 中我会使用:
$type = 'Square';
$obj = new $type();
Node.js 中是否有等效项?
最佳答案
一个安全的方法是定义一个工厂对象:
function Square() {
}
// here other constructors for Circle and Triangle
var factory = {
"Square": Square,
"Circle": Circle,
"Triangle" : Triangle
}
var typeName;
// here some code which sets typeName
var typeObj = new factory[typeName]();
关于javascript - Node.js - 创建变量中指定类名的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47866797/