基本的にFlowを使うときは、Babelを用いてコンパイルを前提していると思うが、簡易的なスクリプトを書くときでもFlowは有効だ。
Flowには、Comment Typesと呼ばれる機能があり、コメントベースのシンタックスが用意されている。
// @flow
function sum(a /*: number */ , b /*: number */) {
return a + b
}
sum('hello', 2)
基本的には、/*: 型 */
と書くだけ。
型チェックによって思わぬバグを防げるし、ESDocやJSDocなどでコメントをつけるより気軽である。
また、エディタの支援により、補完されるのも嬉しい。
このコメント形式のFlowを採用しているライブラリをいくつか挙げておく。
ast-pretty-print/index.js at master · babel-utils/ast-pretty-print
babel-flow-scope/index.js at master · babel-utils/babel-flow-scope