Immutabilité : concat() plutôt que push(), filter() plutôt que splice()

Habituellement, on ajoute une donnée à un tableau en utilisant push() :

myArray.push(item)  

Il est préférable de changer nos habitudes et d'utiliser concat :

myArray = myArray.concat([item])  

Evidemment, en ES6, il est possible d'utiliser le spread operator :

myArray = [...myArray, item]  

C'est ce que préconise l'équipe d'Angular, car concat() créé un nouvel Array, ce que facilite le "change detection" et améliore donc les performances.

Il en va de même pour supprimer un élément du tableau. Plutôt que myArray.splice(position, 1) il est préférable d'utiliser filter() :

let item = "banane";  
let fruits = ["pomme", "banane", "abricot"];  
console.log(fruits);

fruits = fruits.filter(x => x !== item);  
console.log(fruits);  

Avec Angular 2 ainsi que son concurrent préféré React et Redux, vous n'avez pas fini d'entendre parler d' "immutable state".


sinscrire à la newsletter pour être tenu au courant de l'actu MEAN