Le contenu de cet article concerne le format et cela des fonctions fléchées en js et la différence avec les fonctions ordinaires. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
// ES5 var selected = allJobs.filter(function (job) { return job.isSelected(); }); // ES6 箭头函数 var selected = allJobs.filter(job => job.isSelected()); // ES6 $("#confetti-btn").click(event => { playTrumpet(); fireConfettiCannon(); });
1. Pour écrire une fonction avec plusieurs paramètres (ou sans paramètres ni valeurs par défaut ni paramètres déstructurés), ajoutez des parenthèses autour de la liste des paramètres.
2. Les fonctions fléchées avec des blocs ne renverront pas automatiquement les valeurs. Veuillez utiliser la déclaration de retour.
3. Il y a une chose à noter lorsque vous utilisez des fonctions fléchées pour créer des objets ordinaires. Mettez toujours les objets entre parenthèses :
Les fonctions fléchées n'ont pas leur propre valeur this. Les valeurs à l'intérieur de ces fonctions fléchées sont toujours héritées de la portée englobante.
Pour les méthodes qui seront appelées à l'aide de la syntaxe object.method(), utilisez des fonctions non fléchées. Ces fonctions obtiendront une valeur this significative de la part de l'appelant. Tout le reste utilise des fonctions fléchées.
{ ... addAll: function addAll(pieces) { var self = this; _.each(pieces, function (piece) { self.add(piece); }); }, ... } // ES6 { ... addAll: function addAll(pieces) { _.each(pieces, piece => this.add(piece)); }, ... }
Il existe également une petite différence entre les fonctions fléchées et non fléchées : les fonctions fléchées n'ont pas leur propre objet arguments.
Fonctions ordinaires :
1. Lorsqu'une fonction est appelée en tant que fonction globale, cela pointe vers l'objet global
2. Lorsqu'une fonction est appelée en tant que méthode dans un objet, cela pointe vers. l'objet
3. Lorsqu'une fonction est utilisée comme constructeur, cela pointe vers le nouvel objet qui sort du constructeur new
4. Vous pouvez également modifier le point de ceci en appelant, en appliquant et en liant<.>
2. La fonction flèche n'a pas de super
3. La fonction flèche n'a pas d'arguments
4. La fonction flèche n'a pas de liaison new.target.
5. Impossible d'utiliser le nouveau
6. Aucun prototype
7. Les paramètres nommés en double ne sont pas pris en charge.
Répondez à cette question dans la fonction flèche ES6
Explication détaillée de la fonction flèche JavaScript
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!