Anomalies des tableaux : propriétés par rapport aux éléments
En JavaScript, la polyvalence des objets s'étend également aux tableaux. Ce curieux phénomène vient du fait que les tableaux héritent du prototype Object. En conséquence, les tableaux peuvent être manipulés comme s'il s'agissait d'objets.
Affectation de propriétés dans les tableaux
Considérez les extraits de code suivants :
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin";
et
var myObject = {'A': 'Athens', 'B':'Berlin'};
Ces extraits de code semblent équivalents car ils créent tous deux des objets avec des propriétés nommées. Cependant, il existe une différence fondamentale entre eux.
Pièges de l'abus de propriété
Bien que les tableaux puissent être traités comme des objets, il est important de noter que les tableaux sont principalement destinés pour les données indexées numériquement. L'attribution de clés non numériques à un tableau peut entraîner un comportement inattendu.
Par exemple, considérez ce qui suit :
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin"; alert(myArray.length);
Au lieu d'afficher « 2 » (le nombre attendu d'éléments), l'alerte affiche « 0 ». En effet, les touches non numériques (« A » et « B ») n'incrémentent pas la propriété length du tableau, qui suit le nombre d'éléments indexés numériquement.
En conclusion, même s'il peut sembler pratique d'ajouter propriétés nommées des tableaux, cette pratique doit être évitée car elle compromet l'objectif des tableaux et peut conduire à un comportement inattendu. Pour les touches non numériques, il est recommandé d'utiliser plutôt un objet pur.
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!