27 votes

Type de flux, que signifie le symbole «+» devant une propriété?

Je suis tombé sur le code suivant écrit en js FlowType (je suis intéressé de connaître la valeur de + dans le contexte de FlowType pas en général JS).

Pourriez-vous s'il vous plaît m'expliquer ce que signifie le symbole + devant la propriété dans le code ci-dessous:

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

Je n'ai trouvé aucune référence dans la documentation, tout lien est également le bienvenu.

37voto

MichaelDeBoey Points 1131

Le symbole + devant la propriété signifie que la propriété est en lecture seule

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

6voto

kalimsayyad Points 518

Le '+' symbole signifie que la propriété est en lecture seule et
'-' signifie que la propriété est en écriture seule et
Si n'a pas de '+' ou '-' symbole signifie que la propriété ont à la fois en lecture/écriture d'accès.
Il peut être utilisé lors de la définition de l'interface de la propriété ou de la propriété type.

La documentation peut être trouvé dans le lien ci-dessous:
https://flow.org/en/docs/types/interfaces/#toc-interface-property-variance-read-only-and-write-only

3voto

GibboK Points 9196

Après quelques recherches supplémentaires, j'ai découvert qu' +/- indiquent le covariant et contravariant pour une propriété.

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

Article intéressant sur les écarts:

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X