我找到了,但是在这种情况下它没有帮助:Cannot use 'new' with an expression whose type lacks a call or construct signature
我有类似的问题。 JavaScript具有以下内容:
public clone(data) {
return new this.constructor({
...this.data,
...data,
});
}
这被标记为错误:不能对类型缺少调用或构造签名的表达式使用'new'。ts(2351)
如何用TypeScript重写?
答案 0 :(得分:1)
我将在此处明确禁用类型检查:
public clone(data): ThisClass {
return new (this.constructor as any)({
...this.data,
...data,
});
}
答案 1 :(得分:0)
假设该类称为MyClass,
public clone(data) {
return new MyClass({
...this.data,
...data,
});
}
应该工作。