Middle
Pourquoi les fonctions de tableau sont-elles considérées comme des objets en JavaScript?
sobes.tech IA
Réponse de l'IA
En JavaScript, les tableaux sont un type spécial d'objets.
Raisons principales :
- Héritage de
Object.prototype: Les tableaux héritent des propriétés et méthodes du prototype de baseObject.prototype. Cela leur permet d'avoir des méthodes communes, telles quetoString(),hasOwnProperty()et d'autres caractéristiques des objets. - Propriétés : Les tableaux ont des propriétés, comme les objets. La plus courante est
length, qui indique le nombre d'éléments. L'accès aux éléments du tableau se fait via des clés numériques, similaire à l'accès aux propriétés d'un objet via des clés de chaîne, sauf que dans ce cas, les clés sont des chaînes représentant des nombres. - Comportement : Malgré leur spécialisation (collection ordonnée d'éléments par indices numériques), le comportement des tableaux dans de nombreux aspects correspond à celui des objets ordinaires. Par exemple, on peut leur ajouter des propriétés arbitraires (bien que cela ne soit pas recommandé pour maintenir la lisibilité).
// Tableau en tant qu'objet spécialisé
let myArray = [1, 2, 3];
// Accès à la propriété length
console.log(myArray.length); // Affichera 3
// Accès à un élément par indice (clé "0")
console.log(myArray[0]); // Affichera 1
// Ajout d'une propriété arbitraire (non standard)
myArray.myProperty = "hello";
console.log(myArray.myProperty); // Affichera "hello"
// Vérification de la présence d'une propriété héritée de Object.prototype
console.log(myArray.hasOwnProperty('length')); // Affichera true