Js flow入门(一)

1.什么是flow

Flow是javascript代码的静态类型接触的一个工具。它可以使你的代码更有效率、更可控、更大规模的开发。

Flow通过静态类型检查到吗是否存在类型错误,比如:

flow 非常的只能,如果您的代码不需要类型,他也会自动帮你判断。

2.类型注释

添加类型注释是flow交互中的一个重要的部分。FLow具有很强的类型判断能力。但是有些时候也需要添加类型注释。类型注释是什么呢,继续往下看。

如下是一个是一个相加的函数:

我们既可以传字符串的参数进入:

也可以传数字进去相加:

但是如果你想制定一个特定的类型的话,你就需要添加类型注释。如下:

3.原始类型

JavaScript有很多不同的原始类型

Booleans

Strings

Numbers

null

undefined (void in Flow types)

Symbols (new in ECMAScript 2015, not yet supported in Flow)

需要注意的是,我们再flow中的类型注释需要是小写的。

Booleans

true/false 在javascript中是Booleans 的值,flow中也一样。

js 中还可以隐式的将其他值转为booleans值

下面代码中的函数中,在flow中是不支持隐式转换的,必须将其转换为Boolean值传入

Boolean 和 boolean值 是不同的类型

boolean值是一个与true或false类型的字面量,或者是一个表达式的结果如 a=b

Boolean是一个构造函数

Numbers

js的数字只有一种类型Number,不像其他语言一样有int float double型等。

需要注意的就是 number 和 Number 也不一样

Strings

需要注意的就是隐式转换:

flow 只接受字符串和数字连接的字符串。

如果想传入字符串和对象连接的字符串,必须是显式的转换才行,如下:

null and void

js中具有null和undefined, flow中对他们两个进行了单独处理

Maybe types(判断类型)

在前面加一个问号创建类型。 ?string ?number

除了判断的类型之外,也可以是null 或者 void

可选对象属性

直接上例子了,看完例子相信大家都明白了

可选函数参数

具有默认值的函数参数

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180806G1H1SW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券