拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 打字稿如何从类建构式自变量推断型别

打字稿如何从类建构式自变量推断型别

白鹭 - 2022-02-02 1965 0 0

我有一个类定义,它在建构式上输入了自变量。我想在别处重用自变量型别定义而不重构或从类中提取定义。我怎样才能做到这一点。下面是一个GetProps<TBase>我被建议但实际上不起作用型别的例子我希望const bp定义会抛出错误,因为它缺少derp在建构式中定义栏位。

type GetProps<TBase> = TBase extends new (props: infer P) => any ? P : never

class Bro {
    bro: string = 'cool'
    cool: string = 'lol'
    constructor(props: {bro: string, cool: string, derp: string}){   
        this.bro = props.bro;
        this.cool = props.cool;
    }
}

const bp : GetProps<Bro> = {
    bro: 'lol',
    cool: 'wut'
};

uj5u.com热心网友回复:

TypeScript 为此包含一个实用程序型别: ConstructorParameters<Type>

TS游乐场

const bp: ConstructorParameters<typeof Bro>[0] = {
/*    ^^
Property 'derp' is missing in type '{ bro: string; cool: string; }'
but required in type '{ bro: string; cool: string; derp: string; }'.(2741) */
  bro: 'lol',
  cool: 'wut'
};
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *