web-dev-qa-db-ja.com

フロータイプ、プロパティの前にある「+」記号の意味は何ですか?

Js FlowTypeで記述された次のコードに出会いました(一般的なJSではなくFlowTypeのコンテキストで+の値を知りたいと思います)。

+記号は、以下のコードのプロパティの前を意味します。

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

ドキュメントに参照が見つかりませんでした。リンクも歓迎します。

27
GibboK

+記号がプロパティの前にあることは、プロパティが読み取り専用であることを意味します

リファレンス: https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only

37
MichaelDeBoey

+」記号は、プロパティが読み取り専用であり、
'-'は、プロパティがwrite onlyおよび
'+'または '-'記号がない場合、プロパティに両方read/writeアクセス。
インターフェイスプロパティまたはタイププロパティを定義するときに使用できます。

ドキュメントは以下のリンクにあります。
https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only

6
kalimsayyad

いくつかの追加調査の後、+/-は、プロパティの共変または反変を示します。

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
GibboK