gpt4 book ai didi

javascript - FlowType:类型的继承(类型A是类型B的子集……)

转载 作者:可可西里 更新时间:2023-11-01 01:50:44 27 4
gpt4 key购买 nike

Since the release of Flow 42, you could use object type spread. type TypeB = { ...TypeA }; 🎉

我想这是关于 FlowType 的真正初学者类型的问题,但我真的找不到让我满意的答案。

假设我有这种类型

type A = {
x: number
}

type B = {
y: string
}

现在我想要基于类型 A 和 B 的另一种类型,如下所示:

type C = {
...A,
...B,
z: boolean
}

恕我直言,应该这样解释:

type C = {
x: number,
y: string,
z: boolean
}

但这显然行不通。

你能给我一些建议或最佳实践吗?非常感谢。

最佳答案

这是一个常见的功能请求,实际上正在处理中。这是 a commit实现类型传播的解析。我不确定此功能的时间表是什么,但我相信它仍在进行中。

目前,您可以在某些情况下使用交集类型(尽管它们并不是真正为这种用例设计的,并且可能会导致令人困惑的问题):

type C = A & B & {
z: boolean
}

当然,您现在也可以只选择复制属性。这绝对是最简单的事情,尽管我同意它有点难吃。

关于javascript - FlowType:类型的继承(类型A是类型B的子集……),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42281539/

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