La nouvelle fonctionnalité la plus populaire de ES6 pour rendre le
code plus concis (ne pas écrire le mot function) donc plus rapide à écrire et à lire.
// Une fonction
function foisDeux(params) {
return params * 2
}
// En une seule ligne on aurait écrit
var foisDeux = function(params) {
return params * 2;
};
// Avec ECMAScript 2015 (ES6) la syntaxe fonction fléchée:
// il ne faut PAS de saut de ligne sinon syntax error
var foisDeux = params => params * 2
// dans tous les cas affiche 8
foisDeux(4);
L'exemple de la doc officielle
var a = [
"We're up all night 'til the sun",
"We're up all night to get some",
"We're up all night for good fun",
"We're up all night to get lucky"
];
// Sans la syntaxe des fonctions fléchées
var a2 = a.map(function (s) { return s.length });
// [31, 30, 31, 31]
// Avec, on a quelque chose de plus concis
var a3 = a.map( s => s.length);
// [31, 30, 31, 31]
Sans paramètres,
() => 42
var feedTheCat = (cat) => {
if (cat === 'hungry') {
return 'Feed the cat';
} else {
return 'Do not feed the cat';
}
}
let s = '[apps','C','outils','photo','maps'];
s.forEach((x) => {console.log(x);});
let onglets = [
{nom:'test.html', chemin:'CSS/test'},
{nom:'abcd.html', chemin:'long/chemin/vers/une/ressource'},
];
onglets.forEach((x,id) => {console.log(id+' '+x.chemin+'/'+x.nom);});
Les fonctions fléchées brillent quand le mot this n'est lié NI au contexte
ni à la fonction elle-même.