流类型,`+`符号在属性前面是什么意思?

时间:2017-09-21 08:10:46

标签: javascript flowtype

我遇到了以下用js FlowType编写的代码(我很想知道在FlowType的上下文中+的值不是普通的JS)。

请您解释一下string json = "MyJson"; var temp = JArray.Parse(json); temp.Descendants() .OfType<JProperty>() json = temp.ToString(); 符号在下面的代码中在该属性前面的含义:

Node-1
    Node-1-1
       Node-1-1-1

我在文档中找不到任何参考,也欢迎任何链接。

3 个答案:

答案 0 :(得分:33)

答案 1 :(得分:5)

' + '符号表示该属性只读
' - '表示该属性只写,如果没有'+'' - ' 符号表示该属性具有读/写访问权限。
可以在定义接口属性或类型属性时使用。

文档可在以下链接中找到:
https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only

答案 2 :(得分:3)

经过一些额外的研究后,我发现+/-表示属性的协变或逆变。

interface MyInterface {
  +covariant: number;     // read-only
  -contravariant: number; // write-only
}

关于差异的有趣文章:

https://flow.org/en/docs/lang/variance/

https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only