Spread / Rest
JavaScript 🟢 JuniorDefinition
L'operateur ... sert de spread (etaler un iterable) ou rest (collecter les arguments restants). Spread copie superficiellement, rest regroupe dans un tableau.
Analogie
Spread = etaler les cartes sur la table. Rest = ramasser toutes les cartes restantes en un paquet.
Exemple de code
// Spread
const merged = { ...obj1, ...obj2 };
const copy = [...array];
// Rest
function sum(...nums) {
return nums.reduce((a, b) => a + b, 0);
}
Cas d'usage
Copier/fusionner objets et tableaux de maniere immutable, collecter des arguments variadiques.
Anti-pattern
Croire que spread fait une copie profonde (deep clone) : les objets imbriques restent par reference.