(一)了解 flow

(一)背景

众所周知,js是弱类型的语言,没有专门的类型检测,所以为了避免类型不符合要求导致的bug,需要自行引入类型检测插件。

现有类型检测我了解typescript,所以知道 typescript 的同学就会理解 flow 的含义了,两者有异曲同工之处,都是负责类型检测。

(二)为什么用 Flow

Vue.js 在做2.0 重构的时候,在 es6 的基础上,除了使用 eslint 保证代码质量外,也引入了 flow 做静态类型检测。之所以选择 flow,主要是因为 Babel 和 ESlint 都有对应的 flow 插件以支持语法,可以完成现有的构建配置,非常小成本的改动就可以拥有静态检测的能力。所以vue源码中是使用Flow来做类型检测的

(三)Flow 的工作方式

(1)类型推断:通过变量的使用上下文来推断出变量的类型,类似于typescript 中的断言,然后根据推断来检查类型

(2)类型注释:事先注释好我们需要的类型,Flow根据我们注释好的类型进行检测

(四)Flow 代码简单使用

可以查看这篇文章:https://blog.csdn.net/qq_22844483/article/details/83154144

我用这段代码进行测试:

// @flow
function test (str) {
  return str.split(' ')
}

test(11)

控制台报错: 

flow 相关文档:https://segmentfault.com/a/1190000014367450

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值