2016-06-17 10 views
1

ここでコードを読むと(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コードのように見えますが、そのほとんどは意味があります。しかし、私はちょっと混乱している何の空の括弧[]でを意味します。

通常、jsでは、空の配列を割り当てるために空白の括弧を使用します。私はそれがこのように使われているのを見たことはありませんが。これはフロー機能ですか?ドキュメントでそれを見つけることができませんでした。

+0

可能性のある重複した[空の角括弧はJavaScriptで変数の値として表しんか?](http://stackoverflow.com/questions/22878786/what-does-empty-square-brackets:以下はその抜粋です-variable-value-in-javascript) – JordanHendrix

+2

これはFlowtypeアノテーション付きのコードですが、ES6はありません。あなたはFlowtypeが何であるかわからない可能性が高いので、あなたは '[] 'について特に疑問に思っていますか? – loganfsmyth

+2

あなたはそれについて疑問を持っていましたが、 'type'や'? 'については疑問に思っていましたか? –

答えて

2

つまり、StateはTodoオブジェクトの配列です。

たとえば、number[]は数字の配列です。

Array types

1

これは、フローにおける配列型を宣言するための代替構文です。互換性があるようにTypeScript's Array syntaxからコピーされている可能性がありますが、フロー注釈でこれを書くための好ましい方法は、以下のようになります。https://flowtype.org/docs/quick-reference.html#arrays

export type State = Array<Todo>; 

ブラケットの構文は配列のためのフローのクイックリファレンスに表示されます。

let array: number[] = [1, 2, 3.14, 42]; 
関連する問題