12-Flow的或操作和类型推断

16 篇文章 0 订阅

Flow中的或操作和类型判断

Flow中的或操作:

​ 当我们希望一个变量可以是一种数据类型,也可以是其他指定的数据类型的时候,我们就可以使用flow中的或操作。

语法:
let 变量名 : 数据类型1 | 数据类型2 | ... = 数据初始值 ;
实例代码:
//@flow

let a: number | string = 10;

a = "123";

此时flow检查变量 a 的类型的时候既可以是 number类型的,也可以是string类型的。因此我们在第三行代码将a赋值为字符串"123" 后我们执行 npm run flow 就不会报错,运行结果如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VUkLBY5W-1611054286711)(C:\Users\白墨\AppData\Roaming\Typora\typora-user-images\1611039021767.png)]

Flow中的逻辑判断:

​ 当我们没有给一个变量明确的数据类型的时候,flow会根据程序进行判断该类类型。

实例代码:

//flow中的类型推断
function test(a: number, b: number) {
    return a + b;
}

let c: string = test(1, 2);

上述代码中,我们在定义test函数的时候并没有对返回值的数据类型进行规定,但flow通过对返回的表达式 a+b 中通过a和b都是number类型的,因此推断出函数的返回值应该也是number类型的。因此我们在用一个string类型的变量去接受test函数的返回值后执行 npm run flow时就会报错。报错结果如下所示:

受test函数的返回值后执行 npm run flow时就会报错。报错结果如下所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值