JS - Chapitre 02 - Objet immutable Flashcards
on considère les objets comme?
des structures de données, sans comportement
objet
collection de propriétés
immutable avec const?
const fruit = { name: ‘apple’; }
fruit.name = ‘orange’;
freezing
const fruit = Object.freeze({name: ‘apple’});
impossible de changer name
defaut de freezing
seulement a shallow copy. objet contenant des objets mutables
deep freeze
copie profonde
rendre immutable en JS
lint (interdiction)
const, copie shallow, copie profonde
linting
utiliser es-lint pour donner des directives
Changer la valeur d’un immutable
const product = {
name: ‘apple’,
quantity : 1
}
changement
const newProduct = {
…product,
quantity: 2
}
Ajouter une propriété à un immutable
const product = {
name: ‘apple’,
quantity : 1
}
changement
const newProduct = {
…product,
type: ‘fruit’
}