Maison >interface Web >js tutoriel >Régulier ceci, Arrow ceci (Laconiquement à puces)

Régulier ceci, Arrow ceci (Laconiquement à puces)

Susan Sarandon
Susan Sarandonoriginal
2025-01-23 04:30:09391parcourir

Regular this, Arrow this (Tersely bulleted)

Chers développeurs, j'ai trouvé le mot-clé this de JavaScript un peu délicat, en particulier dans des scénarios complexes. Pour améliorer ma compréhension et saisir rapidement son comportement dans divers contextes (comme lors de la révision de code ou de documentation), j'ai créé cette référence concise.

Points clés à retenir sur this :

  • Fonctions régulières : Dans les navigateurs, une fonction régulière (function myFunction() {}) a généralement son this défini sur l'objet window global. Dans Node.js, c'est l'objet global. Cela ne change que lorsqu'il est appelé dans un contexte spécifique :
    • En tant que méthode objet.
    • Explicitement lié à l'aide de .bind(), .call() ou .apply().
  • Fonctions fléchées : Les fonctions fléchées (() => {}) héritent de leur this de la portée de leur fonction régulière environnante (englobante) (lexicale this). Il est crucial de comprendre cela.
  • Portée lexicale (fonctions fléchées) : Le this d'une fonction flèche est déterminé au moment de sa création, et non de son exécution. Même s'il se trouve à l'intérieur d'une méthode objet, son this provient de la fonction régulière englobante la plus proche.
  • Immuabilité de this : Les fonctions fléchées ont un this fixe et immuable, tandis que les fonctions régulières this sont dynamiques et peuvent être modifiées à l'aide de méthodes de liaison.
  • Méthodes de classe : Dans les méthodes de classe (qu'elles soient régulières ou fléchées), le this fait toujours référence à l'instance de la classe créée à l'aide de new MyClass(). Ceci est cohérent quel que soit le type de fonction.

N'hésitez pas à contribuer, à corriger toute inexactitude ou à ajouter d'autres informations. Les commentaires constructifs sont toujours appréciés !

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!

Déclaration:
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