Muable
Une variable muable (mutable) est une variable qui peut être modifiée. En JavaScript, seuls les objets et tableaux (arrays) sont muables, pas les valeurs primitives.
(Vous pouvez faire pointer un nom de variable vers une nouvelle valeur, mais la valeur précédente est toujours conservée en mémoire. D'où le besoin de nettoyage.)
Un objet muable est un objet dont l'état peut être modifié après sa création.
Les objets immuables (immutable) sont des objets dont l'état ne peut être modifié une fois l'objet créé.
Chaînes de caractères et nombres sont immuables. Un exemple pour bien comprendre :
var immutableString = "Hello";
// Dans le code ci-dessus, un nouvel objet avec une valeur chaîne de caractère est créé.
immutableString = immutableString + "World";
// Nous ajoutons "World" à la valeur existante.
En ajoutant la variable "immutableString" avec une valeur de chaîne, les événements suivants se produisent :
- La valeur existante de la variable "immutableString" est récupérée
- "World" est ajouté à la valeur existante de "immutableString"
- La valeur résultante est alors allouée à un nouveau bloc de mémoire
- L'objet "immutableString" pointe maintenant vers le nouvel espace mémoire créé
- L'ancien espace mémoire est maintenant disponible pour la récupération de place (nettoyage).
Voir aussi
Culture générale
- Objet immuable sur Wikipédia