Maison interface Web js tutoriel Où cela pointe-t-il dans les fonctions fléchées ES6 ?

Où cela pointe-t-il dans les fonctions fléchées ES6 ?

Mar 17, 2018 pm 01:33 PM
this orienté

Cette fois, je vais vous montrer où pointe ceci dans la fonction flèche ES6, et quelles sont les précautions lors de son utilisation dans la fonction flèche ES6. Voici un cas pratique, jetons un coup d'œil.

Brève introduction : Ceci dans la fonction flèche pointe vers une fonction définie différemment de la fonction générale. La définition de ceci dans la fonction flèche : ceci dans la fonction flèche est lié lorsque définit la fonction . Au lieu de lier lors de l'exécution de la fonction.

(1) Généralement, la fonction vers laquelle cela pointe est liée lors de l'exécution de obj.say(), cela pointe vers l'

objet de obj.

var x=11;
var obj={
 x:22,
 say:function(){
 console.log(this.x)
 }
}
obj.say();
//console.log输出的是22
Copier après la connexion
(2) Ce qu'on appelle la liaison au moment de la définition signifie qu'elle est héritée du contexte d'exécution parent ! ! Ceci, comme ceci. This.x représente ici en fait window.x, donc la sortie est 11.

var x=11;
var obj={
 x:22,
 say:()=>{
 console.log(this.x);
 }
}
obj.say();
//输出的值为11
Copier après la connexion
Les similaires sont :

(3)

var a=11
function test1(){
 this.a=22;
 let b=function(){
 console.log(this.a);
 };
 b();
}
var x=new test1();
Copier après la connexion
Sortie 11

Cas de la fonction flèche :

var a=11;
function test2(){
 this.a=22;
 let b=()=>{console.log(this.a)}
 b();
}
var x=new test2();
//输出22
Copier après la connexion
C'est étrange, n'est-ce pas ? C'est ainsi que je le comprends. Lors de la définition de la signification spécifique de la liaison this dans ES6, ce qui devrait être hérité est-ce dans le contexte d'exécution parent ? ! ! De cette façon, de nombreuses directions peu claires dans les fonctions fléchées sont résolues.

Remarque : les objets simples (non-fonctions) n'ont pas de contexte d'exécution !

Compréhension approfondie de cela dans la fonction flèche

Dans la fonction flèche, la fixation de ce point n'est pas parce que de la fonction flèche interne Il existe un mécanisme pour lier this. La vraie raison est que la fonction flèche n'a pas du tout son propre this, donc le this interne est le this du bloc de code externe. Précisément parce qu'il n'a pas cela, il ne peut pas être utilisé comme

constructeur .

Nous pouvons simuler la transformation de la fonction flèche dans ES5 :

// ES6
function foo() {
 setTimeout(() => {
 console.log('id:', this.id);
 }, 100);
}
// ES5
function foo() {
 var _this = this;
 setTimeout(function () {
 console.log('id:', _this.id);
 }, 100);
}
Copier après la connexion
Ainsi, lors de la définition d'un objet, définissez les propriétés de l'objet, et cela à l'intérieur pointe généralement vers le monde global, ou là où l'objet se trouve ceci dans cet environnement.

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php. !

Lecture recommandée :

Comment changer le statut de la radio avec JS

Comment définir la table bootstrap sur le pourcentage de hauteur

La différence entre var foo = function () {} et function foo()

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Un article qui comprend ce point et rattrape 70% des front-end Un article qui comprend ce point et rattrape 70% des front-end Sep 06, 2022 pm 05:03 PM

Un collègue est resté bloqué à cause d'un bug signalé par ce problème de pointage de Vue2 qui a provoqué l'utilisation d'une fonction de flèche, entraînant l'impossibilité d'obtenir les accessoires correspondants. Il ne le savait pas quand je le lui ai présenté, puis j'ai délibérément regardé le groupe de communication front-end. Jusqu'à présent, au moins 70 % des programmeurs front-end ne le comprennent toujours pas. Aujourd'hui, je vais partager avec. vous ce lien. Si tout n'est pas clair Si vous ne l'avez pas encore appris, s'il vous plaît, faites-moi une grande gueule.

Voyons pourquoi Vue2 peut accéder aux attributs dans diverses options via ceci Voyons pourquoi Vue2 peut accéder aux attributs dans diverses options via ceci Dec 08, 2022 pm 08:22 PM

Cet article vous aidera à interpréter le code source de Vue et à vous expliquer pourquoi vous pouvez l'utiliser pour accéder aux propriétés de diverses options de Vue2. J'espère qu'il sera utile à tout le monde !

Une manière intelligente d'utiliser ce mot-clé dans jQuery Une manière intelligente d'utiliser ce mot-clé dans jQuery Feb 25, 2024 pm 04:09 PM

Utilisation flexible du mot-clé this dans jQuery Dans jQuery, le mot-clé this est un concept très important et flexible. Il est utilisé pour désigner l'élément DOM en cours de manipulation. En utilisant rationnellement ce mot-clé, nous pouvons facilement exploiter les éléments de la page et obtenir divers effets et fonctions interactifs. Cet article combinera des exemples de code spécifiques pour présenter l'utilisation flexible de ce mot-clé dans jQuery. Cet exemple simple Tout d'abord, regardons un exemple simple. Supposons que nous ayons un

Comment utiliser cette méthode en Java Comment utiliser cette méthode en Java Apr 18, 2023 pm 01:58 PM

1. ce mot-clé 1. Type de ceci : L'objet appelé est le type de référence de cet objet 2. Résumé de l'utilisation 1. this.data;//Attribut d'accès 2. this.func();//Méthode d'accès 3.this ( );//Appelez d'autres constructeurs de cette classe 3. Explication de l'utilisation 1.this.data est utilisé dans les méthodes membres. Voyons ce qui se passera si cela n'est pas ajouté classMyDate{publicintyear;publicintmonth;publicintday; intmois,intjour){oui

Qu'est-ce que c'est? Une analyse approfondie de cela en JavaScript Qu'est-ce que c'est? Une analyse approfondie de cela en JavaScript Aug 04, 2022 pm 05:02 PM

Qu'est-ce que c'est? L'article suivant vous présentera cela en JavaScript et parlera des différences entre cela dans les différentes méthodes d'appel de fonctions. J'espère que cela vous sera utile !

Explication détaillée de ceci dans la fonction flèche JavaScript Explication détaillée de ceci dans la fonction flèche JavaScript Jan 25, 2024 pm 01:41 PM

La fonction flèche en JavaScript est une syntaxe relativement nouvelle. Elle n'a pas son propre mot-clé this. Au contraire, le this de la fonction flèche pointe vers l'objet scope qui la contient. Les impacts sont : 1. Ceci dans la fonction flèche est. static ; 2. Les fonctions fléchées ne peuvent pas être utilisées comme constructeurs ; 3. Les fonctions fléchées ne peuvent pas être utilisées comme méthodes.

Méthodes d'initialisation de cette référence et construction d'objet en Java Méthodes d'initialisation de cette référence et construction d'objet en Java May 14, 2023 pm 06:40 PM

1.this référence 1.1 Pourquoi y a-t-il une référence this ? Tout d'abord, écrivons un exemple de classe de date : publicclassclassCode{publicintyear;publicintmonth;publicintday;publicvoidsetDay(inty,intm,intd){year=y;month=m;day= d;}publicvoidprintDate (){System.out.println(année+"-"+mois+"-"+jour);}publicstatic

Comment JavaScript modifie-t-il ce pointeur ? Brève analyse de trois méthodes Comment JavaScript modifie-t-il ce pointeur ? Brève analyse de trois méthodes Sep 19, 2022 am 09:57 AM

Comment JavaScript modifie-t-il ce pointeur ? L'article suivant vous présentera trois méthodes pour modifier ce pointeur dans JS. J'espère qu'il vous sera utile !

See all articles