对象中可选字段的流类型

Posted

技术标签:

【中文标题】对象中可选字段的流类型【英文标题】:Flow type for optional field in an object 【发布时间】:2016-09-07 01:30:39 【问题描述】:

在以下代码中(Try Flow):

type Response = 
    err: ?string;
    data: Object;

function length(x): Response 
  return  data :  ;


length(10)

我将err 设为可选,但仍然出现错误:

在对象字面量中找不到属性err

【问题讨论】:

【参考方案1】:

这是可选属性的正确语法:

type Response = 
    err?: string;
    data: Object;

Demo

您尝试使用的语法 (err: ?string) 是 Maybe type, 这意味着err 键应该在对象中,并且可以具有stringnullvoid (undefined) 类型。

【讨论】:

非常感谢。我不敢相信我一直在错误地使用它,并且从未收到任何语法警告! Flow 中可选字段与可为空值的说明:***.com/a/37174244/2601788

以上是关于对象中可选字段的流类型的主要内容,如果未能解决你的问题,请参考以下文章

扩展运算符和可选字段。如何推断正确的类型

Elasticsearch:文档中可选字段的意外相关性得分

如何在流中定义具有指定类型的所有可选字段的泛型类型

TypeScript - 使用只有可选字段的返回类型减少 [关闭]

带有嵌套可选对象和必填字段的猫鼬模式

在 C# 中获取套接字对象的流