使用flow来规范javascript的变量类型
2019-09-12 09:37
1806 查看
众所周知, js是弱类型的语言,由此有了很多的优点,也出现了大量由此导致的错误,难以定位。当然有类似于ts之类的语法糖来解决此问题,ts因为是从c#演变而来的,所以入门有一定的门槛,所以我们来一下flow这个更轻巧的工具。
先来看一下flow在vs code中的表现效果:
跟ts的提示类似,它会实时检测所有的包含flow注释的文件,在vscode中需要安装Flow Language Support插件.
如何安装
安装过程可以使用yarn和npm安装,推荐使用yarn,因为安装起来会更快。
yarn add --dev @babel/core @babel/cli @babel/preset-flow
然后在.babelrc中添加此插件
{ "presets": ["@babel/preset-flow"] }
添加flow-bin的依赖
yarn add --dev flow-bin
执行flow:
yarn run flow
执行成功后,会在后台启动一个进程进行监听,如果你已经安装了vscode的插件的话,可以忽略这一步,插件会自动启用flow.
使用强类型
做完上面这些后,你就可以在你的js文件中使用强类型来约束你的代码了,在需要使用flow的文件头部添加/ / @flow
// @flow function foo(x: ?number): string { if (x) { return x; } return "default string"; }
然后运行 yarn run flow
你就可以看到如下的输出
test.js:5 5: return x; ^ number. This type is incompatible with the expected return type of 3: function foo(x: ?number): string { ^^^^^^ string
如果你使用vscode的插件,就会在保存的时候自动提示这些错误出来,如第一张示例图片那样。
相关资料:
flow官网:https://flow.org/en/
总结
以上所述是小编给大家介绍的使用flow来规范javascript的变量类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关文章推荐
- javascript数据类型和变量命名规范
- JavaScript语言核心数据类型和变量使用介绍
- javascript数据类型和变量命名规范
- JavaScript,由于不区分类型,都是var,所以导致整型的变量(如var test=1)使用length函数即test.length就会发现,输出undefined
- JavaScript语言核心数据类型和变量使用介绍
- JavaScript使用构造函数获取变量的类型名
- JavaScript使用构造函数获取变量的类型名
- JavaScript基础:数据类型,变量命名规范
- Acticle 1:javascript数据类型和变量命名规范
- javascript 使用FLOW做强类型验证
- JavaScript: * JavaScript:基本使用: * ECMAScript: * 变量:弱变量类型: var i; * 数据类型:原始类型和引用类型.
- JavaScript基础语法、语法规范、标识符与变量、数据类型、运算符、流程控制
- JavaScript使用构造函数获取变量的类型名
- javaScript数据类型、变量命名规范
- shell实例(八) ---指定变量类型:使用declare或typeset,随机数
- 在javaScript中使用正则表达试判断输入是否是float类型
- JavaScript中变量的类型
- 规范工程中c/c++变量类型的定义
- javascript:使用其他页面的js函数、变量
- 使用Javascript判断浏览器和操作系统类型:全面简洁的方法