昨天我听了一个播客,其中说打字稿具有我找不到的功能。它是这样的:
const funct = (): (Type1 | Type2) {//...}
这里我们有一个返回联合类型的函数。播客说,有一种方法可以在Type1 / 2中指定一个字段,该字段将用于区分我正在处理的类型。例如,我可以在两个类型中都有一个名为differentiator
的字符串,并确保每种类型都有唯一的值。然后,当我调用此函数时,我可以检查结果具有哪个微分,并采取适当的措施。
讨论使用关键字kind
或kindof
。当我搜索此功能时,此结果一直显示:https://www.typescriptlang.org/docs/handbook/advanced-types.html但是该文章没有提到kind
的概念。它提供了区分联合类型的其他方式,但与“种类”无关。我认为这个词可能太普遍了,以至于Google对此功能不容易使用。
问题是这样的: