访问流对象时使用空括号?

时间:2016-06-17 02:28:40

标签: javascript javascript-objects flowtype

在这里阅读一些代码:(redux organization)并注意到以下代码。

// todos/model.js
export type Todo = {
  id?: number;
  text: string;
  completed: boolean;
};

// This is the model of our module state (e.g. return type of the reducer)
export type State = Todo[];

这看起来像Flow代码,大部分都是有意义的。但我有点困惑Todo [] 上的空括号是什么意思。

通常在js中,您使用空括号来指定一个空数组。虽然我从来没有见过它像这样使用过。这是Flow功能吗?无法在文档中找到它。

2 个答案:

答案 0 :(得分:2)

这意味着State是Todo对象的数组。

例如number[]是数字数组。

Array types

答案 1 :(得分:1)

这是在Flow中声明数组类型的替代语法。它可能已从TypeScript's Array syntax复制为兼容,但在Flow注释中编写它的首选方法如下:

export type State = Array<Todo>;

括号语法显示在Flow的数组快速参考中:https://flowtype.org/docs/quick-reference.html#arrays。这是摘录:

let array: number[] = [1, 2, 3.14, 42];