Flow中使用注释类型别名进行类型转换报错,是否不支持该用法?
Flow注释式语法下的类型别名转换正确写法
注释式Flow语法完全支持使用类型别名进行类型转换,你之前的报错是因为写法不符合语法规范。
Flow要求类型断言必须以(<表达式>: <类型>)的形式存在,即使是注释式语法也需要遵循这个规则,错误写法let ot = 0 /*:: : orderType */;缺少必要的括号,导致解析失败。
以下是两种正确的写法:
写法一:括号内包裹表达式与注释类型
// @flow /*:: type orderType = number; */ let ot = (0 /*:: : orderType */);
写法二:注释包裹完整断言表达式
// @flow /*:: type orderType = number; */ let ot = /*:: (0: orderType) */ 0;
这两种写法都能正确将0断言为orderType类型,且符合Flow注释式语法的要求。
内容的提问来源于stack exchange,提问作者Olle Härstedt
相关产品推荐
相关产品推荐

