Maison > interface Web > js tutoriel > le corps du texte

Pourquoi Array.prototype.push renvoie-t-il la longueur du tableau mise à jour au lieu de données plus informatives ?

DDD
Libérer: 2024-10-22 10:54:29
original
572 Les gens l'ont consulté

Why Does Array.prototype.push Return the Updated Array Length Instead of More Informative Data?

Pourquoi Array.prototype.push renvoie la nouvelle longueur au lieu de données plus utiles

Introduit dans ECMA-262, 3e édition, Array. prototype.push a systématiquement renvoyé un nombre représentant la longueur du tableau mis à jour. Cependant, des questions se posent quant à savoir pourquoi il a été conçu de cette façon au lieu de fournir des informations potentiellement plus précieuses, telles que des références aux éléments ajoutés ou au tableau modifié lui-même.

Contexte historique

Pour comprendre le raisonnement derrière cette décision de conception, nous nous penchons sur l'histoire du push et de ses homologues en Perl. Ajoutées en 1997 au JS1.2 de Netscape 4, ces méthodes ont été inspirées de leurs homologues Perl.

Initialement, push dans JS1.2 était conforme à Perl 4 en renvoyant le dernier élément ajouté. Cependant, dans JS1.3, il a été modifié pour s'aligner sur la convention de Perl 5 consistant à renvoyer la nouvelle longueur du tableau. Ce changement a été reflété dans le code source de jsarray.c, qui fait la distinction entre le comportement de Perl 4 et Perl 5 en fonction de la version JS.

Raisons du renvoi de la longueur du tableau

Cet aperçu historique suggère que la décision de renvoyer la nouvelle longueur du tableau était alignée sur le standard Perl 5, qui a eu une influence sur les premiers développements de JavaScript. De plus, renvoyer la longueur peut avoir été considéré comme un moyen clair et cohérent d'indiquer le résultat de l'opération push, sans introduire de confusion ou d'ambiguïté potentielle.

Considérations alternatives

Renvoyer des références aux éléments ajoutés ou au tableau modifié lui-même a ses mérites. Il pourrait fournir un accès direct aux éléments nouvellement ajoutés ou permettre des opérations en chaîne. Cependant, ces alternatives présentent également des inconvénients potentiels :

  • Le retour des références à des éléments individuels pourrait rendre plus verbeuse la récupération de tous les éléments ajoutés, en particulier pour les grands tableaux.
  • Le retour du tableau modifié introduit le potentiel de mutation accidentelle, car cela rend plus difficile la distinction entre le tableau d'origine et la version mise à jour.

Conclusion

The Array.prototype.push La valeur de retour de la méthode de la nouvelle longueur du tableau ne fournit peut-être pas les informations les plus complètes, mais sa conception reste cohérente avec les conventions de Perl et offre une indication claire du résultat de l'opération. Les approches alternatives ont leurs avantages mais aussi des inconvénients potentiels qui ont pu influencer le choix fait aux débuts de 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!

source:php
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal