一、什么是Flow?
我们知道 JavaScript 是弱类型的语言,所以我们在写代码的时候容易出现一些始料未及的问题。而 Flow这一工具则是用于对JavaScript的类型进行限制、检查的工具。
二、使用
// 未使用 Flow 限制
function sum(a, b) {
return a + b;
}
// 使用 Flow 限制 a b 都是 number 类型。
function sum(a: number, b:number) {
return a + b;
}
最基础的语法就是在变量或形参后面添加:类型
对这一变量类型进行限制,在后面对变量的赋值和实参的传递过程中如果进行了错误的类型赋值,则会报错。
更详细的语法见官方文档。
Flow支持的原始数据类型包括boolean number string null void(对应undefined)
。复杂类型包括Object Array Function 自定义的Class
。
使用flow.js在浏览器端是无法直接运行的,需要对应的Babel插件babel-preset-flow-vue
并且在 babelrc 进行配置。