Quand je pense à la beauté d'EcmaScript6, l'une des premières choses super cool qui me viennent à l'esprit est Spread Syntax o Spread Operator. Cette fonctionnalité est l'une des astuces les plus utiles pour gérer la déstructuration de beaucoup de données et d'objets. Par conséquent, je vais vous montrer tous les cas d'utilisation que j'ai trouvés en travaillant.
Lorsque vous avez besoin de fusionner deux tableaux en toute sécurité (plus d'informations sur la fusion de tableaux ici ):
const arr1 = [1, 2];
const arr2 = [3, 4];
const arr1Plusarr2 = [...arr1, ...arr2];
const newArrayMerged = [0, ...arr1, ...arr2];
console.log(arr1Plusarr2); // [1, 2, 3, 4]
console.log(newArrayMerged); // [0, 1, 2, 3, 4]
Lorsque vous devez fusionner les propriétés de deux objets différents :
const object1 = { b: 2 };
const object2 = { c: 3 };
const object1PlusObject2 = { ...object1, ...object2 };
const newObjectMerged = { a: 1, ...object1, ...object2 };
console.log(object1PlusObject2); // { b: 2, c: 3 }
console.log(newObjectMerged); // { a: 1, b: 2, c: 3 }
Lorsque vous avez besoin de stocker toutes les valeurs d'index sans assignation dans des tableaux déstructurants, quel que soit leur nombre :
const bigArray = [0, 1, 2, 3, 4];
const [index0, index1, ...rest] = bigArray;
console.log(index0); // 0
console.log(index1); // 1
console.log(rest); // [2, 3, 4]
Lorsque vous devez créer un nouvel objet avec toutes les valeurs non extraites en cas de déstructuration d'objet, quel que soit leur nombre :
const mainObject = { a: 1, b: 2, c: 3, d: 4, e: 5 };
const { a, b, ...rest } = mainObject;
console.log(a); // 1
console.log(a); // 2
console.log(rest); // { c: 3, d: 4, e: 5 }
Lorsque vous devez transmettre de nombreux paramètres à une fonction, peu importe le montant. Les paramètres sont arrivés sous forme de tableau :
const addAll = (...params) => params.reduce(
(acc, current) => acc + current,
0
);
addAll(1, 2, 3); // 6
addAll(1, 2, 3, 1, 1, 1, 1); // 10
addAll(3, 5); // 8
const subwaySandwich = (bread, size, ...ingredients) => {
console.log(bread); // Italian
console.log(size); // 15cm
console.log(ingredients); // ['mustard', 'mayo']
}
subwaySandwich(
'Italian',
'15cm',
'mustard',
'mayo'
);
const person = ({ age, gender, ...rest }) => {
console.log(age); // 15
console.log(gender); // female
console.log(rest); // { hair: 'brun', eyes: 'blue' }
}
person({
age: 15,
gender: 'female',
hair: 'brun',
eyes: 'blue',
})
Oui! Vous pouvez également utiliser l'opérateur spread pour gérer un objet (ou un tableau) de manière conditionnelle : il vous suffit de le mettre entre parenthèses et de créer une condition.
const carBase = { wheels: 4, doors: 4 };
const isVehicle = true;
const renault = {
...(isVehicle && carBase),
country: 'France',
}
console.log(renault) // { wheels: 4, doors: 4, country: 'France' }
Cette semaine, j'ai reçu un e-mail d'un membre de la liste de diffusion quotidienne. Ils voulaient savoir : Quelles ressources consultez-vous quotidiennement, hebdomadairement et mensuellement ? Grande question ! Je suis heureux d'essayer de partager quelques idées sur mon flux de travail et les principales ressources que j'utilise.
Le but de cette série de blogs est d'approfondir la bibliothèque Lit et d'acquérir une compréhension complète de ses caractéristiques uniques et de la manière dont elle se distingue des autres bibliothèques et frameworks du marché. La série est divisée en trois parties, couvrant des sujets tels que 1.
Il était minuit passé lorsque Hayden a ramené Katie à son dortoir universitaire après leur soirée ensemble. Elle avait un cours tôt le matin et n'avait plus de vêtements de rechange après être restée avec lui la nuit précédente.
Tout esprit rationnel sait que les milieux politiques et médiatiques sont dominés par la gauche, voire l'extrême gauche, un état de fait qui crée un déséquilibre dans le discours politique. Dans le domaine religieux, ce déséquilibre est bien visible : les journaux et les réseaux de gauche ne se précipitent pas pour défendre la foi chrétienne.
Dans le paysage commercial en évolution rapide d'aujourd'hui, le concept de travail hybride et à distance a pris un élan sans précédent. Alors que les entreprises continuent de s'adapter à l'évolution des besoins et des attentes de leurs employés, des experts de divers domaines se sont réunis pour discuter des avantages, des défis et de l'avenir de cette façon de travailler transformatrice.
Combien de fois avez-vous jeté une bouteille en plastique, un bocal en verre, une canette en aluminium ou un paquet d'énergie verte sans réfléchir à deux fois ? Combien de fois avez-vous souhaité pouvoir obtenir quelque chose en échange de leur recyclage ? Si vous êtes comme la plupart des gens, la réponse est probablement plusieurs fois. Le recyclage est souvent perçu comme un tracas, une corvée ou un devoir qui n'apporte aucun bénéfice immédiat ou tangible.