如何在Typescript中指定表示2个函数的并集的类型

时间:2019-04-13 21:48:45

标签: typescript type-definition

假设我有2个功能

export const functionA = () => {// do stuff}
export const functionB = () => {// do stuff}

例如,我想创建另一个仅接受functionAfunctionB作为输入的函数

export const anotherFunction = functionAorB => {// do stuff }

Typescript中是否可以指定仅表示functionAfunctionB的类型?

1 个答案:

答案 0 :(得分:2)

您无法在特定功能上进行输入。 functionA是一个值而不是类型。但是,您可以这样做:

type FuncA = (x: number) => number;
type FuncB = (x: string) => string;
type FuncEither = FuncA | FuncB;

功能以不太直观的方式组合。 FuncEither将是(x: number & string): number | string