如何从TypeScript中的字符串创建类实例(类似于rails中的.constantize.new)?

如何从TypeScript中的字符串创建类实例(类似于rails中的.constantize.new)?,typescript,Typescript,在Rails中,我可以使用一个类的字符串名并执行someclass.constantize.new 如果我有一个字符串,const classString='User',我是否可以从中创建一个User的实例 不,这在javascript中是不可能的。不,这在javascript中是不可能的。1 const classMap = { 'User': User, // OtherClass ... } const user = new classMap[classString] 二,

在Rails中,我可以使用一个类的字符串名并执行
someclass.constantize.new


如果我有一个字符串,
const classString='User'
,我是否可以从中创建一个
User
的实例

不,这在javascript中是不可能的。

不,这在javascript中是不可能的。

1

const classMap = {
  'User': User,
   // OtherClass ...
}

const user = new classMap[classString]
二,

  • eval
    -但不建议这样做
  • 一,

    二,

  • eval
    -但不建议这样做
  • const classes = [User /*, OtherClass ... */];
    const user = new (classes.find(c => c.name === classString))