En JavaScript, pourquoi un tableau d'objets renvoie-t-il « Objet » au lieu de « Tableau » ?
Les tableaux sont une structure de données polyvalente dans JavaScript. Ils peuvent stocker n'importe quel type de données, y compris des objets. Cependant, un phénomène curieux se produit lors de la manipulation d'un tableau d'objets.
Considérez l'exemple fourni :
$.ajax({ url: 'http://api.twitter.com/1/statuses/user_timeline.json', data: { screen_name: 'mick__romney'}, dataType: 'jsonp', success: function(data) { console.dir(data); //Array[20] alert(typeof data); //Object } });
Bien qu'il s'agisse d'un tableau d'objets de la chronologie Twitter, l'opérateur typeof renvoie étonnamment "Object. " Ce comportement apparemment incohérent provient d'une particularité du système de types de JavaScript.
Comprendre l'anomalie de type :
En JavaScript, l'opérateur typeof vérifie la classe interne d'un objet. Notamment, les tableaux ne sont pas considérés comme un type distinct comme dans de nombreux autres langages de programmation. Au lieu de cela, ils sont classés comme « Objets ». En effet, les tableaux héritent du Object.prototype, ce qui en fait une sous-classe d'objets.
Autres façons de déterminer si un tableau :
Pour déterminer si une variable représente un tableau en JavaScript, vous pouvez utiliser plusieurs méthodes :
Pour la compatibilité jQuery :
Conclusion :
Bien que les tableaux d'objets puissent sembler contre-intuitifs vus d'un point de vue traditionnel, ils sont une conséquence directe du système de types unique de JavaScript. En comprenant ces nuances, vous pouvez gérer et manipuler efficacement les tableaux dans vos applications 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!