Я нашел это, но это не помогло мне в этом случае: не может использовать 'new' с выражением, тип которого не имеет подписи вызова или конструкции
У меня похожая проблема. JavaScript имеет следующее:
public clone(data) {
return new this.constructor({
...this.data,
...data,
});
}
Это помечено как ошибка: нельзя использовать "new" с выражением, тип которого не содержит вызов или создать signature.ts(2351)
Как я могу переписать в TypeScript?
Я бы явно отключил проверку типов здесь:
public clone(data): ThisClass {
return new (this.constructor as any)({
...this.data,
...data,
});
}
Предполагая, что класс называется MyClass,
public clone(data) {
return new MyClass({
...this.data,
...data,
});
}
должно сработать.