• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

流的条件类型

用户头像
it1352
帮助1

问题说明

是否可以根据条件在流中键入变量?这样的事情:

Is it possible to type a variable in flow based on a condition? Something like this:

const type = 'xyz';
const a: (type === 'xyz') ? number : string;

正确答案

#1

简短的回答是否定的。变量必须绑定到单个类型,其中可以包含类似 number |的联合类型串。在条件块内部,Flow可以推断出更专业的类型。例如:

The short answer is no. A variable must be bound to a single type, which can include a union type like number | string. Inside a conditional block Flow can infer a more specialised type. For example:

const a: number | string = "foo";
if(typeof a === "string"){
  a.split(); // OK!
} else {
  a.split(); // Error! a is a number
}

但请注意这些条件分支是静态的,并且它是有保证的在编译时,每个类型内的类型。

But notice that these conditional branches are static, and it's guaranteed at compile time what the type will be inside each.

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /reply/detail/tanhcgjfab
系列文章
更多 icon
同类精品
更多 icon
继续加载