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.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.
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" .
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. | |
【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!