Maison >interface Web >js tutoriel >Quelles sont les différences entre es6 et es5
Différences : 1. es6 a une nouvelle fonction de flèche, pas es5 ; 2. ES6 a une nouvelle portée au niveau du bloc, es5 n'en a pas ; 3. ES6 introduit le concept de classe et n'utilise plus la chaîne de prototypes pour l'implémenter. héritage comme ES5;4. , Les paramètres de fonction par défaut peuvent être définis dans ES6, mais pas dans es5. La fonctionnalité de promesse est ajoutée dans ES6 ;
L'environnement d'exploitation de ce tutoriel : système Windows7, ECMAScript 5&&ECMAScript version 6, ordinateur Dell G3.
Par rapport à ES5, ES6 a ajouté de nombreuses nouveautés, telles que :
1. Nouvelle fonction flèche
Les problèmes résolus par la fonction flèche
simplifient l'écriture. Les fonctions fléchées conviennent lorsque le corps de la fonction ne comporte qu'une seule ligne ; lorsqu'il y a plusieurs lignes, les fonctions ordinaires peuvent être utilisées pour augmenter la lisibilité. Moins de codage, structure claire
Expliquez cela clairement. Le this du JS traditionnel est déterminé au moment de l'exécution, pas lors de la définition ; tandis que le this des fonctions fléchées est déterminé lors de la définition et ne peut pas être modifié, ni par des méthodes telles que l'appel, l'application et la liaison. H Sely, lors de l'exécution, ce point est de déterminer que this n'a pas besoin d'être exécuté. Remarque : la fonction flèche n'a pas son propre this, c'est le this dans la couche externe, et le This who est une fonction qui est. pas une fonction de la fonction flèche. En raison du mécanisme de js, il pointe vers la portée d'une fonction qui n'est pas une fonction fléchée.
La différence entre les fonctions fléchées et les fonctions ordinairesLa déclaration des fonctions ordinaires est la plus élevée en levage variable, les fonctions fléchées n'ont pas de fonction de levage
les fonctions fléchées n'en ont pas Si vous n'avez pas this
La fonction flèche n'a pas d'objet arguments Cet objet n'a pas. existe dans le corps de la fonction Si vous souhaitez l'utiliser, vous pouvez utiliser le paramètre rest
La fonction Flèche ne peut pas être utilisée comme constructeur, ne peut pas être nouvelle, n'a aucune propriété
appeler et appliquer. les méthodes n'ont que des paramètres et aucune portée
ne peuvent pas utiliser la commande rendement, donc la fonction flèche ne peut pas faire fonctionner le générateur
2. Portée au niveau du bloc
Le let La commande dans ES6 déclare les variables. L'utilisation est similaire à var, mais let ajoute une nouvelle portée au niveau du bloc à JavaScript. Dans ES5, il n'y a pas de portée au niveau du bloc et var a le concept de promotion de variable, mais dans let, les variables. utilisé doit être déclaré ; const déclare les constantes
3.
4. Définir les paramètres de fonction par défaut
Dans ES6, vous pouvez définir les paramètres de fonction par défaut, tels que la fonction A (x, y=9) {}5. promesse
promesse ; arrière-plan de génération : résolvez le problème de l'enfer des rappels et gérez les requêtes asynchronesutilisation de la promesse : appels en chaîne, rappels de réussite et d'échec, trois états, déclenchés lorsque l'état en attente change. Une fois le statut modifié, il ne changera plus.
6. Chaîne de modèle7. Structure des affectations
[Apprentissage recommandé :Tutoriel avancé 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!