JavaScript静态类型检查工具FLOW简介


Posted in Javascript onJanuary 06, 2015

Flow是Facebook出品的,针对JavaScript的静态类型检查工具。其代码托管在github之上,并遵守BSD开源协议。

关于Flow

它可以帮助我们捕获JavaScript开发中的常见错误,而不需要额外地修改你原有的代码,比如静态类型转换,空值引用等问题。
同时,Flow为JavaScript添加了静态类型的语法标识,这样开发者便可以明确代码中的类型,让其自动地被Flow所维护。
目前,Flow具有以下两特性:

1. Flow的类型检查具有可选性

除非你明确告诉Flow需要对某些文件进行类型检查,否则它是不会检查你不需要检查文件的。这就是说,你可以慢慢地将你的代码库转到Flow之上,继续收获其持续增长的价值。
比如你选择了一个文件进行检查,Flow会自动地对你代码的类型检查,并查出你的代码中的错误。不过,如果你的代码分得很细并存在于不同的文件之中,这种做法显得太麻烦。但有些时候,你选择检查一些很大型的库,Flow可能会不是那么准确。在这种情况下,我们可以手动地采用“类型注解”或者切换到“弱模式”下限制其类型引用来解决问题。

2. Flow的类型检查是在线的

在对代码库进行检查时,Flow会对其做一个初步的分析,然后会在后台对后续变化做持续的监测,类型检查,以及依赖检查。对开发者来说,意味着不需要花大把的时间在编译之上。当批量保存文件的时候,会自动触发Flow的类型检查,会并把结果持久化,以备再用。

使用与期望

Flow是一个由Facebook出品的新新库,大量的特性还在开发过程之中。其长远的目标是:想让JavaScript
的开发体验变得更好,而不用去妥协语言中最本质的东西。我们想要开发者拥有强大的工具,去明白如何去维护他们的代码,更方便安全地复用与优化他们的代码。在早期选择开源,也是希望能给Flow一个机会,快速地在所有开发者面前成长起来。

接下来,我会讲到一些例子,帮助大家快速了解Flow如何工作,以及如何通过Flow让我们更好的工作。

Javascript 相关文章推荐
javascript高亮效果的二种实现方法
Sep 14 Javascript
利用JQuery的load函数动态加载其它页面的内容的实现代码
Dec 14 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
Node.js实现简单聊天服务器
Jun 20 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
Oct 20 Javascript
jQuery1.9+中删除了live以后的替代方法
Jun 17 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
Oct 26 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
May 10 Javascript
JS基于开关思想实现的数组去重功能【案例】
Feb 18 Javascript
vue实现计算器功能
Feb 22 Javascript
vue实现输入框自动跳转功能
May 20 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 Javascript
jQuery中filter()方法用法实例
Jan 06 #Javascript
JavaScript修改浏览器tab标题小技巧
Jan 06 #Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 #Javascript
jQuery中hasClass()方法用法实例
Jan 06 #Javascript
jQuery中last()方法用法实例
Jan 06 #Javascript
jQuery中first()方法用法实例
Jan 06 #Javascript
jquery解决客户端跨域访问问题
Jan 06 #Javascript
You might like
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP上传图片、删除图片简单实例
2016/11/12 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
使用Fullpage插件快速开发整屏翻页的页面
2017/09/13 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
原生js实现分页效果
2020/09/23 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
Python SQLite3数据库操作类分享
2014/06/10 Python
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
python实现图书管理系统
2018/03/12 Python
python用户管理系统
2018/03/13 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
Python 3.8 新功能全解
2019/07/25 Python
解决Python设置函数调用超时,进程卡住的问题
2019/08/08 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
python Selenium 库的使用技巧
2020/10/16 Python
Python之多进程与多线程的使用
2021/02/23 Python
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
成绩单公证书
2014/04/10 职场文书
欢迎领导检查标语
2014/06/27 职场文书
介绍信模板
2015/01/31 职场文书
旅行社计调工作总结
2015/08/12 职场文书
自信主题班会
2015/08/14 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript