如何允许使用Flow中的任何键传入/传出对象?

时间:2018-01-31 11:38:34

标签: javascript ecmascript-6 flowtype

我有这样的功能:

// @flow

const myFunc = (a, b) => {
  // magic
  return c;
}

我想为此添加Flow类型,但我不确定如何指定输入。

该函数接受两个参数ab,两个参数都是对象,并返回c,这是另一个对象。对abc中的属性没有任何限制。

我该如何输入?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Object键入参数并返回类型:

type FuncType = (a: Object, b: Object) => Object;

甚至更短:

type FuncType = (Object, Object) => Object;

然后你可以输入功能:

const myFunc: FuncType = (a, b) => {
  // implementation
}

您也可以将输入内联,但在这种情况下我发现它的可读性较低:

const myFunc: (Object, Object) => Object = (a, b) => {
  return {}
}