Carte vs objet en JavaScript

Carte Vs Objet En Javascript



' Carte ' et ' Objet ' sont deux structures de données courantes en JavaScript utilisées pour stocker des paires clé-valeur. Une carte est utilisée lorsque vous avez besoin d'une structure de données capable de stocker n'importe quel type de données sous forme de clé ou de valeur et que vous avez besoin d'une collection ordonnée de paires clé-valeur. While Object est utilisé lorsque vous avez uniquement besoin de stocker des clés de chaîne.

Cet article expliquera la différence entre Map et Object en JavaScript.

Comment définir un objet en JavaScript ?

En JavaScript, un objet est une collection de propriétés, chacune avec une paire clé-valeur. Le ' clé ' est le ' nom », et un « valeur ” est la “valeur” contre la clé. Les objets peuvent représenter des objets du monde réel, comme une voiture, une personne ou un compte bancaire. Ils peuvent également représenter des objets plus abstraits, comme un point mathématique dans l'espace, une couleur ou une date.







Syntaxe



Un objet peut être créé à l'aide de crochets de notation d'objet littéral {} ou du constructeur d'objet. En utilisant la notation littérale ou les crochets, utilisez la syntaxe ci-dessous :



constante objet = {
clé : valeur,
clé : valeur
}

Création d'un objet à l'aide du constructeur d'objet ou du ' nouveau ” mot-clé, utilisez la syntaxe suivante :





constante objet = nouveau Objet ( ) ;

objet. clé = valeur ;

Note: N'oubliez pas que les clés ou les noms des propriétés d'objet doivent être une chaîne.

Exemple 1 : créer un objet à l'aide de la notation littérale en JavaScript

Dans l'exemple suivant, nous allons créer un objet appelé ' stdObject ” en utilisant une notation littérale ou des crochets :



var stdObject = {
nom : 'John' ,
âge : 18 ,
rollno : 25 ,
standard : 9
}

Imprimez l'objet sur la console :

console. enregistrer ( stdObject ) ;

Sortir

Exemple 2 : créer un objet à l'aide du constructeur d'objets en JavaScript

Ici, nous allons créer un objet en utilisant le constructeur d'objet en utilisant le ' nouveau ' mot-clé:

constante stdObject = nouveau Objet ( ) ;

Maintenant, ajoutez les propriétés (clé-valeur) des objets en utilisant la notation point(.) :

stdObject. nom = 'Merde' ;

stdObject. âge = 19 ;

stdObject. rollno = quinze ;

stdObject. standard = dix ;

Enfin, affichez l'objet sur la console à l'aide de la touche ' console.log() ' méthode:

console. enregistrer ( stdObject ) ;

Sortir

Comment définir une carte en JavaScript ?

En JavaScript, un ' Carte ” est une structure de données qui contient des paires clé-valeur similaires à un objet. Il vous permet d'associer des données à des clés et de récupérer les données ultérieurement à l'aide des clés. Les cartes peuvent être utilisées pour implémenter des dictionnaires, des tables de hachage et d'autres structures de données qui mappent des clés à des valeurs.

Syntaxe

Pour initialiser une Map, utilisez la syntaxe suivante :

constante carte = nouveau Carte ( [

[ 'clé' , 'valeur' ] ,

[ 'clé' , 'valeur' ]

] ) ;

Vous pouvez également créer une carte à l'aide du constructeur Map ou en utilisant le nouvel opérateur, et définir des valeurs en utilisant le ' ensemble() ' méthode:

constante carte = nouveau Carte ( ) ;

carte. ensemble ( 'clé' , 'valeur' ) ;

Exemple : Créer une carte en JavaScript

Dans l'exemple donné, nous allons créer une Map en utilisant les deux syntaxes.

Créez une carte à l'aide de la méthode d'initialisation. Ici, nous allons définir des clés sous forme de chaîne alors que vous pouvez définir des clés dans une carte de n'importe quel type :

constante mapStd = nouveauCarte ( [
[ 'nom' , 'John' ] ,
[ 'âge' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'standard' , 9 ] ,
] ) ;

Ou créez une Map en appelant le constructeur Map ou le nouveau mot-clé/opérateur :

constante mapStd = nouveau Carte ( ) ;

Définissez les valeurs dans Map dans une paire clé-valeur à l'aide de ' ensemble() ' méthode:

mapStd. ensemble ( 'nom' , 'John' ) ;

mapStd. ensemble ( 'âge' , 18 ) ;

mapStd. ensemble ( 'rollno' , 25 ) ;

mapStd. ensemble ( 'standard' , 9 ) ;

Pour imprimer la carte sur la console, utilisez le ' entrées() ' méthode avec le ' pour-de ' boucle:

pour ( constante [ valeur clé ] de mapStd. entrées ( ) ) {

console. enregistrer ( `$ { clé } : $ { valeur } ` ) ;

}

Ou pour accéder à la valeur d'une clé/propriété spécifique, utilisez le ' obtenir() ' méthode:

console. enregistrer ( 'Le nom de ' + mapStd. obtenir ( 'nom' ) + ' est ' + mapStd. obtenir ( 'rollno' ) ) ;

La sortie indique toutes les propriétés de la carte et la valeur de la propriété spécifique :

Carte vs objet en JavaScript

La principale différence entre la carte et l'objet est la suivante :

Carte Objet
Il a été introduit dans ECMAScript 6 en 2015. JavaScript a introduit le type de données Object dans sa première version (ECMAScript 1) sortie en 1997.
La carte autorise les clés de tout type de données (par exemple, objets, fonctions, nombres, etc.). Les clés d'objet doivent être des chaînes.
Les propriétés d'une Map sont accessibles à l'aide de la méthode get(). Les propriétés de l'objet sont accessibles à l'aide de la notation par points ou par crochets.
Map a une propriété de taille intégrée pour renvoyer le nombre de paires clé-valeur L'objet n'a pas cette fonctionnalité.
La carte est itérable. Il permet de parcourir toutes les paires clé-valeur à l'aide de certaines méthodes intégrées telles que forEach(), keys(), values() et entry(). L'objet n'est pas itérable. Il est nécessaire d'utiliser des boucles 'for-in' ou la méthode Object.entries() pour itérer les paires clé-valeur.
La carte est commandée. L'objet n'est pas ordonné.

Lorsque vous travaillez avec de petits ensembles de données, la différence de performances entre les cartes et les objets est négligeable, mais lorsque vous travaillez avec des ensembles de données plus volumineux, les cartes peuvent être plus rapides car elles sont optimisées pour les performances.

Quand la carte préfère-t-elle les objets en JavaScript ?

Lorsque vous avez besoin de stocker des paires clé-valeur sous une forme ordonnée ou que la valeur en tant que clé soit n'importe quel type de données, tel que des nombres, des objets ou des symboles, utilisez le ' Carte ' Structure de données. Les objets seront utilisés lorsque vous devez utiliser des chaînes comme clés et lorsque vous n'avez besoin d'aucune des fonctionnalités de Maps. La différence de performances entre les cartes et les objets est négligeable lorsque vous travaillez avec de petits ensembles de données, mais lorsque vous travaillez avec des ensembles de données plus volumineux, les cartes peuvent être plus rapides car elles sont optimisées pour les performances.

Conclusion

Map et Object sont tous deux utilisés pour stocker des données sous forme de paires clé-valeur en JavaScript, mais ils présentent quelques différences. Map est une structure de données plus puissante et flexible que Object, et est le choix préféré lorsque vous devez stocker des paires clé-valeur qui doivent être triées, avoir des clés de différents types de données ou avoir une propriété de taille. Cet article explique la différence entre Map et Object en JavaScript.