Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Immuable
Une valeurimmuable est une valeur dont le contenu ne peut pas être modifié sans créer une toute nouvelle valeur, par opposition auxvaleurs mutables.
EnJavaScript, lesvaleurs primitives sont immuables : une fois qu'une valeur primitive est créée, elle ne peut pas être modifiée, même si la variable qui la contient peut être réaffectée à une autre valeur.À l'inverse, lesobjets et lestableaux sont mutables par défaut : leurs propriétés et éléments peuvent être modifiés sans réaffecter une nouvelle valeur.
Utiliser des objets immuables présente plusieurs avantages :
- Améliorer les performances (pas besoin d'anticiper les modifications futures de l'objet)
- Réduire l'utilisation de la mémoire (utiliser desréférences d'objet au lieu de cloner tout l'objet)
- Sécurité lors de l'exécution concurrente (plusieurs threads peuvent référencer le même objet sans interférer entre eux)
- Réduire la charge cognitive des développeur·euse·s (l'état de l'objet ne change pas et son comportement reste toujours cohérent)
Notez qu'il est facile de prouver la mutabilité : un objet est mutable tant qu'il existe un moyen de modifier ses propriétés. À l'inverse,l'immutabilité est difficile à prouver s'il n'existe pas de sémantique de langage pour la garantir : cela relève du contrat entre développeur·euse·s. Par exemple,Object.freeze() est une méthode au niveau du langage permettant de rendre un objet immuable en JavaScript.
Dans cet article
Voir aussi
- Terme associé du glossaire :
- Objet immuable sur Wikipédia