以下是 TypeScript Docs 中有关装饰器的一些代码:
function classDecorator<T extends {new(...args:any[]):{}}>(constructor:T) {
return class extends constructor {
newProperty = "new property";
hello = "override";
}
}
@classDecorator
class Greeter {
property = "property";
hello: string;
constructor(m: string) {
this.hello = m;
}
}
console.log(new Greeter("world"));
但是,如果您尝试使用,newProperty
则会收到转译器错误:
类型“Greeter”上不存在属性“newProperty”。
你如何输入这个,以便编译器知道它newProperty
实际上存在?