Trois points utiles - le reste et l'écart en JavaScript
Lukasz Kolko
ECMAScript 2015 nous a apporté de nombreuses nouveautés, qui se sont traduites par un grand nombre d'améliorations. Aujourd'hui, nous allons examiner de plus près deux fonctionnalités qui nous facilitent la vie. Voici les parémètres de repos et la syntaxe de propagation.
La syntaxe restante nous permet de représenter un nombre indéfini d'arguments sous la forme d'un tableau. Examinons une fonction qui additionne tous les arguments passés.
L'opérateur d'expansion nous permet d'étendre les objets itérables en éléments individuels. Cette fonctionnalité est opposée à celle que nous avons obtenue avec les autres paramètres. Elle peut être appliquée à tous les itérables, tels que les tableaux, les objets, les ensembles, les cartes, etc.
const sum = (x, y, z) => x + y + z ;
const numbers = [1, 2, 3] ;
console.log(sum(...numbers)) ; // 6
La syntaxe d'étalement va effectivement un niveau plus loin lors de la copie d'un tableau. Un niveau signifie que le premier niveau de références est copié.
Notez que la copie de l'objet qui est créée est un nouvel objet qui possède toutes les propriétés de l'objet original mais aucune de ses informations prototypiques.
Notez que la syntaxe de diffusion crée une copie "superficielle" de l'objet, de sorte que la propriété "wallet" sera copiée uniquement en tant que référence au sous-objet d'origine. Pour un clonage en profondeur, vous pouvez utiliser l'approche JSON stringify/parse ou la méthode "cloneDeep" fournie par Lodash, en fonction de la complexité de votre objet. Dans certains cas, cette méthode peut également s'avérer utile :
let personCopy = { ...person, wallet = {...person.wallet}} ;
Nous pouvons ajouter de manière conditionnelle des propriétés à un nouvel objet que nous créons en utilisant l'opérateur d'étalement ainsi que l'évaluation de court-circuit.