62 votes

Différence entre un objet et un hash?

En Javascript, quelle est la différence entre un objet et un hash? Comment créez-vous l'un par rapport à l'autre et pourquoi vous en soucieriez-vous? Existe-t-il une différence entre les exemples de code suivants?

 var kid = {
 name: "juni",
 age: 1
}
 

Et:

 var kid = new Object();
kid.name = "juni";
kid.age = 1;
 

Et:

 var kid = new Object();
kid["name"] = "juni";
kid["age"] = 1;
 

Pouvez-vous penser à un autre exemple de code que je devrais illustrer?

La principale question ici est quelle est la différence entre un objet et un hachage?

62voto

Marcin Points 3884

Il n'y en a tout simplement pas. Tous les trois sont littéralement égaux.

18voto

Ian Elliott Points 3937

Ce sont différents systèmes de notation que vous pouvez utiliser de manière interchangeable. Il existe de nombreuses situations dans lesquelles l’utilisation de la syntaxe entre crochets [ ] peut être plus attrayante, par exemple pour référencer un objet avec une variable.

 var temp  = "kid";
var obj = new Object();
obj[temp] = 5; // this is legal, and is equivalent to object.kid
obj.temp = 5; // this references literally, object.temp
 

4voto

tvanfosson Points 268301

Il n'y a aucune différence dans aucun de vos échantillons. Ce sont tous des objets avec des propriétés nommées. Vous venez de montrer différentes façons de créer / référencer ces propriétés.

3voto

Jimmy Chandra Points 3562

Ce sont les mêmes.

vous pouvez les utiliser de façon interchangeable.

3voto

TheHippo Points 11900

Je pense que c'est tous les mêmes. La troisième version pourrait être utilisée avec des noms de propriétés dynamiques. Le premier est le plus court à écrire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X