gpt4 book ai didi

typescript - 在 TypeScript 中键入 rest 运算符对象

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:36 24 4
gpt4 key购买 nike

我试图使用 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 类型?

最佳答案

实际上这是一个非常有趣且棘手的问题 :)所以这是我的解决方案:

interface Abc extends Ab, Bc {
bc: Bc;
}

const ab: Ab = { a: 'a', b: 1};
const { a, ...bc }: Abc = { ...ab, c: true } as Abc;

Playground link

关于typescript - 在 TypeScript 中键入 rest 运算符对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52084571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com