Flow

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'; 

 

posted @ 2019-08-19 17:46  大耳朵小虎  阅读(306)  评论(0编辑  收藏  举报