Maison  >  Article  >  interface Web  >  Où les fonctions fléchées es6 ne peuvent-elles pas être utilisées ?

Où les fonctions fléchées es6 ne peuvent-elles pas être utilisées ?

WBOY
WBOYoriginal
2022-03-31 19:02:471726parcourir

Dans es6, la fonction flèche ne peut pas être utilisée dans le calcul ; car le point ce dans la fonction flèche est basé sur le contexte, et le point ce de la fonction flèche dans le calcul pointera vers la fenêtre, les données ne peuvent pas apparaître, donc la fonction flèche ne peut pas être utilisée dans le calcul.

Où les fonctions fléchées es6 ne peuvent-elles pas être utilisées ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.

Là où la fonction flèche ne peut pas être utilisée dans es6

Ceci dans la fonction flèche est basé sur le contexte. Lors de l'utilisation de la fonction flèche dans le calcul, puisque le contenu correspondant est introuvable, cela pointera vers la fenêtre et les données ne pourront pas être utilisées. apparaître.

Les exemples sont les suivants :

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>计算缓存</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<p>{{name}}</p>
</div>
<script>
new Vue({
el:"#app",
data:{
   firstName:"Zheng",
   lastName:"yifeng"
},
// 计算属性不能用箭头函数,箭头函数的this会指向window
computed:{
name(){
return this.firstName+this.lastName
}
//this => window
// name:()=>console.log(this)
        }
})
</script>
</body>
</html>

Développer les connaissances :

La fonction flèche a sa commodité et ses avantages, mais elle a aussi des inconvénients. Son avantage est que le code est concis et cela est défini à l'avance, mais c'est. les inconvénients sont également les mêmes, comme Le code est trop concis, ce qui le rend difficile à lire. Ceci est défini à l'avance, ce qui rend impossible l'utilisation de js pour effectuer certaines opérations apparemment normales dans es5. Compte tenu de ces lacunes, permettez-moi de résumer ci-dessous les circonstances dans lesquelles les fonctions fléchées ne doivent pas être utilisées.

  • Définition de fonctions sur des objets

  • Définition de fonctions sur des prototypes

  • Fonctions de rappel dans des contextes dynamiques

  • Dans les constructeurs

  • Trop court fonctions (inintelligibles)

Là Il ne fait aucun doute que les fonctions fléchées apportent beaucoup de commodité. Une utilisation appropriée des fonctions fléchées nous permet d'éviter d'utiliser la première fonction .bind() ou lorsqu'un contexte fixe est requis et rend le code plus concis.

Les fonctions fléchées présentent également quelques inconvénients. Nous ne pouvons pas utiliser de fonctions fléchées lorsqu'un contexte dynamique est requis : définition de fonctions qui nécessitent un contexte dynamique, de constructeurs, de fonctions de rappel qui nécessitent cet objet comme cible et d'instructions difficiles à comprendre avec les fonctions fléchées. Dans les autres cas, n'hésitez pas à utiliser les fonctions fléchées.

【Recommandations associées : tutoriel vidéo javascript, front-end web

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