Junior
Quelle est la différence entre les opérateurs spread et rest?
sobes.tech IA
Réponse de l'IA
L'opérateur de déploiement (...) déploie des objets itérables (tableaux, chaînes) en éléments individuels, souvent utilisé pour créer des copies de tableaux, fusionner des objets ou transmettre des arguments à une fonction. L'opérateur de reste (...) rassemble les éléments restants en un seul tableau, utilisé en déstructuration ou lors de la définition de fonctions pour collecter des arguments.
Exemples d'utilisation de spread :
// Créer une copie d'un tableau
const arr1 = [1, 2, 3];
const arr2 = [...arr1]; // arr2 = [1, 2, 3]
// Fusionner des tableaux
const arr3 = [4, 5];
const combined = [...arr1, ...arr3]; // combined = [1, 2, 3, 4, 5]
// Passer des arguments à une fonction
function sum(a, b, c) {
return a + b + c;
}
const numbers = [1, 2, 3];
const result = sum(...numbers); // result = 6
Exemples d'utilisation de rest :
// Rassembler les éléments restants lors de la déstructuration d'un tableau
const [first, ...restOfArray] = [1, 2, 3, 4]; // first = 1, restOfArray = [2, 3, 4]
// Rassembler les arguments d'une fonction
function logArguments(arg1, ...restArgs) {
console.log(arg1); // premier argument
console.log(restArgs); // tableau des autres arguments
}
logArguments(1, 2, 3, 4); // Affiche 1 et [2, 3, 4]
La différence clé réside dans leur but : spread étend, rest regroupe.