http://es6-features.org/

DEFAULT PARAMETERS :

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");

REST PARAMETER :

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

SPREAD OPERATOR :

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 :