流动类型,前面的“+”符号代表什么属性?

问题描述:

我遇到了下面的代码写在js FlowType中(我有兴趣知道FlowType上下文中的值+而不是一般的JS)。流动类型,前面的“+”符号代表什么属性?

能否请您给我解释一下什么是+符号在酒店的前面意味着下面的代码:

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

我找不到文档中的任何引用,任何一个环节也欢迎。

+1

的可能的复制[什么的加号做“+新的日期”](https://stackoverflow.com/questions/221539/什么是加号 - 新的日期) –

+4

不是重复的,它是Flowtype专用的。 – saadq

+0

正确,它不是重复我对FlowType上下文中的+感兴趣。 – GibboK

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

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

的 '+' 符号表示属性只读
'-' 手段该物业是只写
如果没有任何“+”“ - ”符号就意味着财产既有读/写访问
它可以在定义接口属性或类型属性时使用。

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