【问题标题】:Flow type, What does the `+` symbol mean in front a property?流类型,属性前面的`+`符号是什么意思?
【发布时间】:2018-03-02 11:57:09
【问题描述】:

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

您能否解释一下下面代码中属性前面的+ 符号是什么意思:

  export type User = {
      +name: string,
      +surname: string,
      +personId: PourceId,
    }

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

【问题讨论】:

标签: javascript flowtype


【解决方案1】:

【讨论】:

    【解决方案2】:

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

    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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-13
        • 2015-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多