对象中可选字段的流类型

bsr*_*bsr 15 javascript flowtype

在以下代码中(Try Flow):

type Response = {
    err: ?string;
    data: Object;
}
function length(x): Response {
  return { data : {} };
}

length(10)
Run Code Online (Sandbox Code Playgroud)

我做了err可选,但仍然得到一个错误:

err在对象文字中找不到属性

And*_*rey 29

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

type Response = {
    err?: string;
    data: Object;
}
Run Code Online (Sandbox Code Playgroud)

演示

您尝试使用的语法(err: ?string)是一种可能类型,这意味着err重点应该是在对象,可以有型string,null或void(undefined).

  • 万分感谢.我无法相信我一直错误地使用它并且从未得到任何语法警告! (2认同)