Typescript中关于使用let Clazz = new Function( ); new Clazz() 编译报错的问题

代码如下

let logicBody:string = "this.name = 'SegmentFault'";
let Clazz:Function = new Function(logicBody);
let obj = new Clazz();
console.log(obj.name);

第三行new Clazz报错

[ts] Cannot use 'new' with an expression whose type lacks a call or construct signature.

有什么办法可以ignore这类错误? 用ES2015这样整完全没有问题,谢谢大家

阅读 5.8k
1 个回答

目前有个workaround, new Clazz.prototype.constructor(); 不报错,可以编译通过。。。但是不够好看。。。应该tsconfig里有个参数可以ignore的吧,我用jsbin的typescript模式运行也不会报错。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进