gpt4 book ai didi

typescript - typescript 合并类型

转载 作者:行者123 更新时间:2023-12-03 09:59:50 25 4
gpt4 key购买 nike

我输入的是A,然后输入的是B

type A = {
kind: "A",
value: string,
value2: string,
value3: string,
};

type B = { kind: "B" } & A ;


我想输入 B具有类型 A的所有属性,但具有不同的 kind

但是当我写这个

const temp: B = {
kind: "B",
value: "X",
value2: "X2",
value3: "X3",
};


我得到这个错误


TS2322类型 string不能分配给类型 never

最佳答案

这是因为kind不能同时属于“ A”和“ B”类型。

解决方法:

1.泛型:

type WithKind<T extends string> = {
kind: T,
value: string,
value2: string,
value3: string,
}

type A = WithKind<"A">;

type B = WithKind<"B">;


2.省略:

type B = Omit<A, "kind"> & { kind: "B" } ;

关于typescript - typescript 合并类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59517437/

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