Maison > Problème commun > Quelle est la différence entre les fonctions fléchées et les fonctions ordinaires ?

Quelle est la différence entre les fonctions fléchées et les fonctions ordinaires ?

小老鼠
Libérer: 2023-11-02 17:47:46
original
2519 Les gens l'ont consulté

Les différences sont : 1. Les fonctions fléchées utilisent des flèches (=>) pour définir des fonctions, la syntaxe est plus concise et le mot-clé de fonction et les accolades sont omis. Par exemple, (x) => x * 2 est une expression de fonction représentée par une simple fonction flèche, qui est équivalente à la fonction ordinaire function(x) { return x * 2; posséder cette liaison. Il héritera de la valeur this de la portée externe. La valeur this d'une fonction normale est déterminée en fonction du contexte lors de son appel, etc.

Quelle est la différence entre les fonctions fléchées et les fonctions ordinaires ?

Il existe quelques différences de syntaxe et de fonctionnalité entre la fonction fléchée et la fonction régulière. Voici leurs principales différences :

  1. Syntaxe simple : les fonctions fléchées utilisent des flèches (=> ) pour définir les fonctions, la syntaxe. est plus concis et le mot-clé de fonction et les accolades sont omis. Par exemple, (x) => x * 2 est une expression de fonction représentée par une simple fonction flèche, qui équivaut à la fonction ordinaire function(x) { return x * 2;

  2. this liaison : La fonction flèche n'a pas sa propre liaison this, elle héritera de la valeur this de la portée externe. La valeur this d'une fonction normale est déterminée en fonction du contexte lors de son appel.

  3. Objet arguments : la fonction Flèche n'a pas son propre objet arguments, elle héritera de l'objet arguments de la portée externe. Les fonctions ordinaires créeront leur propre objet arguments.

  4. Constructeur : les fonctions fléchées ne peuvent pas être utilisées comme constructeurs et les objets ne peuvent pas être instanciés à l'aide du nouveau mot-clé. Les fonctions ordinaires peuvent être utilisées comme constructeurs pour créer des instances d'objet.

  5. Les fonctions fléchées n'ont pas d'attribut de prototype.

  6. Les fonctions fléchées ne peuvent pas changer la direction de ceci via les méthodes call(), apply() ou bind().

En général, les fonctions fléchées sont plus adaptées aux expressions de fonctions simples et aux fonctions de rappel, tandis que les fonctions ordinaires sont plus flexibles et adaptées à divers scénarios, notamment servir de constructeurs, modifier ce pointeur, etc. Vous devez choisir d'utiliser des fonctions fléchées ou des fonctions ordinaires en fonction de scénarios d'utilisation et d'exigences spécifiques.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal