Maison  >  Article  >  interface Web  >  Quelle est la différence entre la carte et l'objet dans Es6

Quelle est la différence entre la carte et l'objet dans Es6

青灯夜游
青灯夜游original
2022-11-15 18:59:443867parcourir

Différences : 1. La clé de Map peut être n'importe quelle valeur, tandis que la clé d'Object doit être une chaîne ou un symbole. 2. Les clés de Map sont ordonnées, tandis que les clés de Object ne sont pas ordonnées. 3. Le nombre de paires clé-valeur dans Map peut être facilement obtenu via l'attribut size, tandis que le nombre de paires clé-valeur dans Object ne peut être calculé que manuellement. 4. La carte peut être itérée directement, mais l'objet ne peut pas être itéré directement. 5. Map fonctionne mieux dans les scénarios où des paires clé-valeur sont fréquemment ajoutées et supprimées, tandis que Object est moins efficace.

Quelle est la différence entre la carte et l'objet dans Es6

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

Le concept de Map et Object

Object

Dans ECMAScript, Object est un objet spécial. C'est un objet de niveau supérieur en soi et également un constructeur, à travers lequel (comme : new Object()) vous pouvez créer un objet. Nous pouvons penser que tous les objets en JavaScript sont une instance d'Object. Les objets peuvent être déclarés en utilisant la méthode littérale const obj = {}

Map

Map est une sous-classe d'Object et peut enregistrer n'importe quel ordre. Les données de type sont stockées en utilisant. Des paires clé-valeur, où les clés peuvent stocker n'importe quel type. Une instance de carte peut être obtenue via const m = new Map();.

Map est similaire à un objet et est également une collection de paires clé-valeur, mais la portée des « clés » ne se limite pas aux chaînes. Différents types de valeurs (y compris les objets) peuvent être utilisés comme clés. En d’autres termes, la structure Object fournit une correspondance « chaîne-valeur » et la structure Map fournit une correspondance « valeur-valeur », qui est une implémentation plus complète de la structure Hash. Si vous avez besoin d'une structure de données « clé-valeur », Map est plus adaptée que Object. Map peut accepter un tableau comme paramètre. Les membres de ce tableau sont des tableaux représentant des paires clé-valeur. "La différence entre la carte et l'objet" .

La clé d'un objet doit être une chaîne ou un symbole.

L'ordre des clésLes clés de Map sont ordonnées. Par conséquent, lors d'une itération, un objet Map renvoie les valeurs clés dans l'ordre d'insertion. Le nombre de paires clé-valeur dans Map peut être facilement obtenu grâce à l'attribut size Le nombre de paires clé-valeur dans Object ne peut être calculé que manuellementItérer sur un objet nécessite d'obtenir sa clé d'une manière ou d'une autre avant de pouvoir l'itérer. Non optimisé dans les scénarios où des paires clé-valeur sont fréquemment ajoutées et supprimées. 【Apprentissage recommandé : 】

Les clés d'un objet ne sont pas ordonnées. Remarque : depuis la spécification ECMAScript 2015, les objets conservent l'ordre de création des clés de chaîne et de symbole ; par conséquent, une itération sur un objet avec uniquement des clés de chaîne produira des clés dans l'ordre d'insertion.
Taille
Itération Map est itérable , il peut donc être directement utilisé Itérer.
Performance Meilleures performances dans les scénarios où des paires clé-valeur sont fréquemment ajoutées ou supprimées.
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!

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