L'expression est également la valeur de retour implicite pour cette fonction. Description Deux facteurs sont à l'origine de la conception des fonctions fléchées: une syntaxe plus courte et l'absence de this spécifique à la fonction. Sur ce dernier point, cela signifie qu'une fonction fléchée ne lie pas son propre this au sein de la fonction (il en va de même avec arguments, super ou). Syntaxe plus courte Pour des aspects fonctionnels, la légèreté de la syntaxe est bienvenue. Par exemple: 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"]; var a2 = a. map ( function ( s) { return s. Fonction mots fleche site. length}); var a3 = a. map ( s => s. length); Pas de this lié à la fonction Jusqu'a l'apparition des fonctions fléchées, chaque nouvelle fonction définissait son propre this: un nouvel objet dans le cas d'un constructeur undefined dans les appels de fonctions en mode strict l'objet courant si la fonction est appelée comme une méthode, etc.
var f = () => { 'use strict'; return this}; f () === window; Le reste des règles du mode strict sont appliquées normalement. Appel via () ou () Étant donné que this provient du contexte englobant, si on invoque une fonction via la méthode call ou apply, cela ne passera que des arguments mais n'aura aucun effet sur this: var ajouter = { base: 1, add: function ( a) { var f = v => v + this. base; return f ( a);}, addViaCall: function ( a) { var b = { base: 2}; return f. call ( b, a);}}; console. log ( ajouter. Fonctions fléchées - JavaScript | MDN. add ( 1)); console. addViaCall ( 1)); Pas de liaison pour arguments Les fonctions fléchées n'exposent pas d'objet arguments:, arguments[0], arguments[1], et autres ne font donc pas référence aux arguments passés à la fonction fléchés.