TypeScript mixin构造函数类型错误

ibrsph3r  于 6个月前  发布在  TypeScript
关注(0)|答案(1)|浏览(60)

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
相关问题:

5t7ly7z5

5t7ly7z51#

这里的概念被简化到了最大程度。我的问题是,我正在使用依赖注入,因此,这个混入中没有预期的参数

相关问题