1. 定义变量类型
// @flow function getStrLength(str: string): number{ return str.length; } getStrLength(‘Hello World’);
需要编译去掉标注后浏览器才认识,Flow 提供 flow-remove-types 和 babel 插件 两种方式来去除标注内容
2. 对哪一个文件进行检查?
// @flow // 或者下面这种 /* @flow */
如果你想对一个文件进行类型检查,必须在文件头部加上一行注释;
意思简单明了,AT 一下 Flow 检查器,意思是:“嘿, Flow,来验一下我”。
当我们写完代码后,运行 flow check(或者配置的相应 npm 命令),Flow 会对加上了这行注释的 JS 文件进行类型检查,并且只会对加了这行注释的 JS 文件进行类型检查;这样可以方便的使你渐进式的把你项目中 JS 文件一个个的改写得符合规范。
3. 自动类型推导
在我们将一个 JS 文件加入类型检测的范围之后,运行 flow check, Flow 会怎么对这些文件进行操作呢?Flow 有一个自动的类型推导机制,很多情况下,Flow 都自动推导出变量的类型并持续跟踪其使用;比如:
let name = 'zhihu';