Avec l'arrivée de ES6, on peux désormais passer des paramétres par défaut dans nos fonctions :
function afficheMonNom(prenom, nom = "Nakamoto") {
console.log(prenom + " " + nom);
}
afficheMonNom("satoshi");
Je veux une fonction qui prend des paramétres libres et les additionne :
function retourneLaSomme(...numbers) {
var somme = 0;
console.log(numbers);
for( let i = 0; i < numbers.length ; i++) {
somme += numbers[i];
}
return somme;
}
console.log(retourneLaSomme(1, 5, 23, 45, 789));
⇒ (5) [1, 5, 23, 45, 789]
⇒ 863
Je met (...nombres) en argument de la function pour specifier qu'elle peux prendre n'importe quel nombre et elle va les ranger dans un array qui s'appelera nombres
Fonctionne à l'inverse de REST, il prend un tableau et il le transforme en valeurs libres
const mesNombres = [5, 8, 789];
function sommeNombres(x, y, z) {
return x + y + z;
}
console.log(sommeNombres(...mesNombres));
⇒ 802
Je veux transformer 2 array en un seul :
const fruitsRouges = ["fraise", "framboises"];
const fruitsVerts = ["pomme", "poire"];
const fruits = [...fruitsRouges, ...fruitsVerts];
console.log(fruits);
⇒ (4) ["fraise", "framboises", "pomme", "poire"]
Autre exemple :