Maison > interface Web > js tutoriel > Comment « ceci » fonctionne-t-il différemment dans les fonctions fléchées ES6 par rapport aux fonctions normales ?

Comment « ceci » fonctionne-t-il différemment dans les fonctions fléchées ES6 par rapport aux fonctions normales ?

Linda Hamilton
Libérer: 2024-12-17 15:43:16
original
531 Les gens l'ont consulté

How Does `this` Work Differently in ES6 Arrow Functions Compared to Regular Functions?

Comprendre "this" dans les fonctions fléchées ES6

En JavaScript, la valeur de this dépend du contexte dans lequel il est utilisé. Lorsque vous travaillez avec des fonctions fléchées, le concept de « lié lexicalement » devient pertinent, ce qui dicte son comportement.

Les fonctions fléchées héritent de la valeur de this du contexte englobant, où elles sont définies. Contrairement aux fonctions classiques, les fonctions fléchées ne créent pas leur propre portée pour cela. Considérez le code suivant :

var testFunction = () => {
  console.log(this);
};
testFunction();
Copier après la connexion

Ici, la fonction fléchée testFunction capture la valeur de this à partir de son contexte englobant, qui dans ce cas est la portée globale. Par conséquent, console.log(this) afficherait l'objet global.

En revanche, les fonctions régulières peuvent créer leur propre portée pour cela. Par exemple :

function Person() {
  this.age = 0;

  const increaseAge = function() {
    this.age++; // `this` refers to the Person object
  };

  increaseAge();
}

const p = new Person();
Copier après la connexion

Dans cet exemple, la fonction IncreaseAge est imbriquée dans le constructeur Person. Lorsqu'elle est invoquée, this fait référence à l'instance de la classe Person car elle a été créée avec le mot-clé new.

Pour résumer, les fonctions fléchées héritent de la valeur de this de leur contexte englobant, garantissant qu'elle reste cohérente avec le code environnant. Ce comportement diffère des fonctions classiques, qui créent leur propre champ d'application. Comprendre cette différence clé est crucial pour gérer correctement cela dans les fonctions fléchées dans le développement 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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal