我试图使用rest运算符从Object中删除属性,但无法弄清楚如何在新Object上强制类型。
interface Ab {
a: string;
b: number;
}
interface Bc {
b: number;
c: boolean | undefined;
}
const ab: Ab = { a: 'a', b: 1};
const {a, ...bc} = {...ab, c: true};
我知道BC现在有一个类型
{
b: number;
c: boolean;
}
是否有一种方法可以强制bc
显式为Bc
类型?
答案 0 :(得分:0)
实际上,这是一个非常有趣和棘手的问题:) 所以这是我的解决方案:
interface Abc extends Ab, Bc {
bc: Bc;
}
const ab: Ab = { a: 'a', b: 1};
const { a, ...bc }: Abc = { ...ab, c: true } as Abc;