La position actuelle:Accueil du site>Utilisation des fonctions fléchées es6
Utilisation des fonctions fléchées es6
2022-07-23 22:31:20【InfoQ】
Préface
La fonction flèche est
ES6
Une nouvelle représentation de la fonction,Ça a l'air très simple aussi,J'ai souvent utilisé,Mais il n'y a pas d'apprentissage global,J'ai eu une surprise aujourd'hui.,Décidez d'en apprendre davantage sur les fonctions fléchées
On y va.
On écrivait comme ça quand on écrivait des fonctions
function fun() {
return 100;
}
console.log(fun()); //100C'est écrit comme ça
const fun = function() {
return 100;
}
console.log(fun()); //100InES6Moyenne,Nous avons simplifié le Code
const fun1 = () => {
return 100;
}
console.log(fun1()); //100Simplifier à nouveau
const fun2 = x => x;
console.log(fun2(100)); //100- ()Définir les paramètres dans,S'il n'y a qu'un seul paramètre,()Peut être omis
- {}Corps de la fonction d'écriture moyenne,Si vous n'avez que des valeurs de retour dans le corps de la fonction,Peut ne pas écrirereturn
La différence entre une fonction fléchée et une fonction normale
Par exemple,
let obj = {
name: 'Xiao Ming',
age: 3,
sayName() {
setTimeout(function() {
console.log("Je suis" + this.name);
}, 500)
}
}
obj.sayName(); Après l'exécution de ce code ,C'est imprimé.
Je suisundefined ,Alors pourquoi?“Xiao Ming” Ça ne peut pas être imprimé ?
let obj = {
name: 'Xiao Ming',
age: 3,
sayName() {
setTimeout(function() {
console.log(this);
}, 500)
}
}
obj.sayName(); Alors on imprime this,Le résultat imprimé estwindowObjet,Donc çathisC'est ça.windowObjet,C'est - à - dire l'objet global. Parce que le Code ici est sayName Il y a une fonction dans la fonction , À l'intérieur de la fonction this Impossible de pointer
Xiao Ming
,MaissayNameFonctionthis Ça peut signifier
Xiao Ming
,La solution est desayName Une variable est définie dans la fonction ,La valeur est:this, Les fonctions internes pointent ensuite vers
Xiao Ming
,Les codes sont les suivants:
let obj = {
name: 'Xiao Ming',
age: 3,
sayName() {
let self = this;
setTimeout(function() {
console.log("Je suis" + self.name);
}, 500)
}
}
obj.sayName(); Pour pouvoir imprimer
C'est Xiao Ming.C'est
Utiliser les fonctions fléchées
Regardez cette chaîne de codes qui utilisent des fonctions fléchées
let obj = {
name: 'Xiao Ming',
age: 3,
sayName() {
setTimeout(() => {
console.log("Je suis" + this.name);
}, 500)
}
}
obj.sayName();Le résultat imprimé est
C'est Xiao Ming. Je pense que vous et moi avons le même doute : Pourquoi est - ce possible avec les fonctions fléchées ?La différence entre une fonction fléchée et une fonction normale
- thisDirection différente
- Fonction normale:Qui appelle cette fonction,
thisÀ qui? - Fonctions fléchées: Où définir la fonction ,
thisÀ qui?
Queue de tranche
Hee - Hee - hee, C'est tout ce que Xiaobai a utilisé pour le moment ( En fait, c'est tout ce que j'aurais ), Je vais continuer à mettre à jour ce blog
Mentions de copyright
Auteur de cet article [InfoQ],Réimpression s’il vous plaît apporter le lien vers l’original, merci
https://fra.chowdera.com/2022/204/202207232229161245.html
Recommandé par sidebar
- Transplantation de systèmes embarqués
- Saisissez une chaîne de caractères à partir du clavier et affichez différents caractères et le nombre d'occurrences de chaque caractère. (la sortie n'est pas séquentielle) résoudre le problème en utilisant la méthode commune de la classe de chaîne
- 2019 Bar _ Aaai ICCN
- Conditions affectant la vitesse de requête de l'interface
- Stack et file d'attente de l'adaptateur STL
- Analyse de la stratégie de lecture et d'écriture du cache
- Classes et objets (1)
- Expérience II Yuv
- Comment synchroniser
- [arxiv2022] grouptransnet: Group transformer Network for RGB - D Salient Object Detection
Devinez que vous aimez
Avantages de la salle des machines bgp
La fosse Piétinée par l'homme vous dit d'éviter les 10 erreurs courantes dans les tests automatisés
Déterminer s'il s'agit d'un type vide
Langue C - quelques exercices classiques de langue C
Openvino Datawhale
Question 300 Leçon 6 type quadratique
Analyse du code source et de la conception de redis - - 7. Liste rapide
Concepts et différences de bits, bits, octets et mots
Déploiement du projet (version abrégée)
JDBC Learning and simple Encapsulation
Recommandé au hasard
- [Python flask note 5] Blueprint simple à utiliser
- Composants web - cycle de vie des éléments personnalisés
- Entrepôt de données 4.0 Notes - acquisition de données commerciales
- Entrepôt de données 4.0 Notes - acquisition de données sur le comportement de l'utilisateur II
- Affichage itératif des fichiers.h5, opérations de données h5py
- Résumé des connaissances mathématiques communes
- Comment se développe le serveur GPU refroidi à l'eau dans le Centre de données dans le cadre de l'informatique est - Ouest?
- Connaissance du matériel 1 - schéma et type d'interface (basé sur le tutoriel vidéo complet de l'exploitation du matériel de baiman)
- Examen des principes fondamentaux de la structure en acier
- Unity3d: ugui source, Rebuild Optimization
- Solution rapide: xshell ne peut pas glisser dans un dossier ou un paquet
- Rhcsa - - parcourir le contenu du fichier, couper, uniq, trier, utiliser les commandes.tr
- Intégrité du signal (si) intégrité de l'alimentation électrique (PI) notes d'apprentissage (32) Réseau de distribution d'énergie (4)
- Quelle est la raison pour laquelle la plate - forme easygbs ne peut pas lire l'enregistrement vidéo et a un phénomène de streaming répété rtmp?
- Notes du jour 7
- 【 Visual Dispatching Software】 Shanghai Dow Ning apporte netronic download, Trial, tutoriel pour l'Organisation SMB
- 2. Les règles quantitatives
- Événements courants de la souris et du clavier
- C #: in, out, ref Keywords
- Connaissance détaillée du GRE, du mgre; Connaissance de la configuration de base de l'OSPF
- Comment creo 9.0 modifie - t - il rapidement le système de coordonnées Cao?
- Notes du jour 5
- Renforcement de l'apprentissage - points de compréhension du gradient stratégique
- Le shell a besoin de connaître les commandes
- Okrk3399 Development Board Reserved i2c4 Mounting EEPROM
- Optimisation du serveur Cloud Huawei avec connexion clé
- Chapitre 2 requête de base et tri
- 【 langage c】 devinez jeux numériques + applet d'arrêt
- Qu'est - ce que le codage par titre?
- Feignclient utilise un tutoriel détaillé (illustration)
- Kettle implémente une connexion de base de données partagée et insère une instance de composant de mise à jour
- Simulation de modulation et de démodulation du signal CBOC basée sur MATLAB, sortie de corrélation, spectre de puissance et suivi de décalage de fréquence
- Les raccourcis clavier liés à l'onglet ne peuvent pas être utilisés après la mise à jour du vscode
- Expression du suffixe (une question par jour pendant les vacances d'été 4)
- Idées de conception sur l'initialisation des paramètres d'entrée de page
- Éléments de base de la validation des haricots - 04
- Une solution complète au problème du sac à dos dans la programmation dynamique
- Récursion des bosses 1: formule récursive
- Explication détaillée de l'injection aveugle d'erreur SQL
- Données chronologiques dans l'Internet industriel des objets