TypeScript版本: 3.9.2
搜索词: mixin构造函数签名
代码:
class A
{
constructor(public x:number){}
}
function f<T extends { new(...args: any[]): object }>(cls:T) {
return class DynamicProxy extends cls {
constructor(...args: any[]) {
super(1);
}
}
}
const B = f(A);
var b = new B();
b.x;
预期行为: 要么将其变为警告,要么允许任何构造函数签名。
实际行为: 带有Expected 1 arguments, but got 0.(2554)
的错误
** playground链接:**https://www.typescriptlang.org/play/index.html?ssl=1&ssc=1&pln=16&pc=5#code/MYGwhgzhAECCBQBve1XWAewHYQC4CcBXYXDfACgAdCAjEAS2GgA8AuLQgWxoFN8BKRAF94I+ADNCWEvWzRxAHgAq0Hs1w8sAExiJoWHgHdyAOjNh8AcwitoYLAE8A2gF1+tjDQBWPEtCEAfOSgNkr80Mho0Pg8uIT4WOjgUNAAIg5YYJyMAAr4GMwOquqaOkm6KFFomDgExKQUZiYW1rb2zm4RlVVVEISUfOQAjPwA3N1VIlEiYjV40ABC0AC88uSwY-AAbhbQNCv6RovkmzQmzKNAA
相关问题:
1条答案
按热度按时间5t7ly7z51#
这里的概念被简化到了最大程度。我的问题是,我正在使用依赖注入,因此,这个混入中没有预期的参数