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

Pourquoi Array.prototype.push renvoie-t-il la longueur et non l'élément ajouté ?

Mary-Kate Olsen
Libérer: 2024-10-22 10:09:30
original
695 Les gens l'ont consulté

Why Does Array.prototype.push Return the Length and Not the Appended Item?

Le cas curieux d'Array.prototype.push : pourquoi il renvoie la longueur au lieu de quelque chose de plus pratique

Array.prototype.push est un Méthode JavaScript qui étend un tableau avec un ou plusieurs éléments. Contrairement à ses homologues plus intuitifs qui renvoient l'élément nouvellement ajouté ou le tableau modifié lui-même, push renvoie curieusement la nouvelle longueur du tableau. Ce comportement non conventionnel a soulevé des questions sur les décisions de conception qui ont conduit à sa mise en œuvre actuelle.

Contexte historique

Pour découvrir la justification de ce choix de conception, nous approfondissons le histoire de poussée. Comme le raconte le centre de communication de TC39, le push a fait ses débuts dans JavaScript 1.2 (Netscape 4) en 1997, inspiré des fonctions de manipulation de tableaux de Perl. Initialement, push renvoyait le dernier élément poussé, conformément aux conventions Perl 4. Cependant, dans JavaScript 1.3 (Netscape 4.06), push a modifié son comportement pour s'aligner sur Perl 5, renvoyant la nouvelle longueur du tableau.

Rationalisation

Pourquoi renvoyait-il la nouvelle longueur jugée plus appropriée que de renvoyer l'élément ajouté ou le tableau muté ? Cette question reste malheureusement sans réponse. Les archives historiques fournissent peu de détails sur le raisonnement derrière cet écart par rapport à Perl 4. Cependant, nous pouvons spéculer sur certaines considérations potentielles :

  • Simplification de la mise en œuvre :Le retour de la nouvelle longueur peut avoir simplifié l'implémentation, nécessitant moins de code pour suivre et manipuler l'élément ajouté ou le tableau modifié.
  • Cohérence : Le renvoi de la nouvelle longueur s'aligne sur d'autres méthodes qui manipulent les longueurs de tableau, telles que l'épissure et changement. Cette cohérence aurait peut-être été priorisée pour une interface plus intuitive et cohérente.

Options alternatives

Si les concepteurs n'avaient pas opté pour le retour de la nouvelle longueur, d'autres options aurait pu être envisagé :

  • Renvoyer le nouvel élément : Cela fournirait un accès direct à l'élément ajouté, évitant ainsi aux développeurs d'avoir à le récupérer manuellement en utilisant la nouvelle longueur.
  • Renvoyer le tableau modifié : Le retour du tableau lui-même, tel que modifié par l'opération push, pourrait éliminer le besoin d'une étape supplémentaire pour rassembler le tableau mis à jour.

Conclusion

Bien que la raison spécifique derrière Array.prototype.push qui renvoie la nouvelle longueur ne soit pas tout à fait claire, ses origines historiques en Perl et les avantages potentiels de simplicité et de cohérence peuvent avoir influencé sa mise en œuvre. Bien que cette décision de conception ne corresponde pas parfaitement aux attentes des développeurs, elle fournit un comportement bien défini et cohérent pour manipuler les tableaux en 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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!