KWe*_*iss 0 types typescript union-types
我有一种情况,我需要一个函数来接受各种不同的类型。它们将由函数内的类型保护分隔开。所以我使用这样的联合类型:
function(param: TypeA | TypeB): void {
let callback: (param: TypeA | TypeB): void = () => {};
if (isTypeA(param)) {
callback = doSomethingWithTypeA;
} else if (isTypeB(param)) {
callback = doSomethingWithTypeB;
}
return callback(param);
}
Run Code Online (Sandbox Code Playgroud)
其中该函数doSomethingWithTypeA仅接受 typeA 等。
正如您所看到的,总是写出(TypeA | TypeB)是非常冗长的,特别是因为它在我的实际代码中超过两种类型。
有什么方法可以创建这样的界面(TypeA | TypeB)吗?
或者还有其他方法可以实现这一目标吗?