Maison > interface Web > js tutoriel > Ajout de propriétés nommées aux tableaux JavaScript : littéral d'objet ou notation entre crochets ?

Ajout de propriétés nommées aux tableaux JavaScript : littéral d'objet ou notation entre crochets ?

Patricia Arquette
Libérer: 2024-11-29 04:36:17
original
767 Les gens l'ont consulté

Adding Named Properties to JavaScript Arrays: Object Literal vs. Bracket Notation?

Ajout de propriétés nommées aux tableaux : une bizarrerie de JavaScript

En JavaScript, les tableaux peuvent être manipulés de manière inattendue, y compris la possibilité d'ajouter des propriétés nommées propriétés comme s’il s’agissait d’objets. Cela soulève la question : existe-t-il une différence fondamentale entre déclarer un tableau avec des propriétés nommées à l'aide de crochets et un objet littéral ?

La réponse courte est : Oui, il y a une différence.

Bien que les deux méthodes se comportent superficiellement de la même manière et renvoient le type « objet » lorsqu'elles sont vérifiées avec typeof(), elles diffèrent par leur nature sous-jacente. Les tableaux sont destinés aux données indexées numériquement, tandis que les objets sont conçus pour les clés non numériques.

Pour illustrer cette distinction, considérons ce qui suit :

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

alert(myArray.length);
Copier après la connexion

Ce code affichera « 0 », alors qu'on pourrait s'attendre à ce qu'il affiche « 2 ». En effet, les propriétés nommées ajoutées au tableau n'affectent pas sa propriété de longueur. Au lieu de cela, ils sont traités comme des propriétés supplémentaires sur l'objet tableau.

En revanche, un littéral d'objet déclaré avec des propriétés nommées refléterait correctement sa longueur :

var myObject = {'A': 'Athens', 'B': 'Berlin'};
alert(myObject.length); // This would display '2'
Copier après la connexion

Par conséquent, bien que cela soit possible ajouter des propriétés nommées aux tableaux est considéré comme un "abus" et doit être évité. Pour les touches non numériques, il est préférable d'utiliser un objet à la place.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal