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

Pourquoi l'initialisation du tableau est-elle plus rapide avec [] qu'avec new Array() ?

Mary-Kate Olsen
Libérer: 2024-10-19 07:34:02
original
935 Les gens l'ont consulté

Why is Array Initialization Faster with [] than new Array()?

Initialisation plus rapide du tableau : [] vs new Array()

Question : Pourquoi utiliser [] pour initialiser un tableau fonctionne plus rapidement que l'utilisation de new Array() ?

Réponse :

Au-delà des réponses précédentes, examinons cela du point de vue d'un compilateur :

  1. Tokenisation :

    • [] : indique une initialisation de tableau (par exemple, arr = [];).
    • nouveau tableau : plusieurs jetons désignant un appel de fonction (par exemple var arr = new Array();).
  2. Création d'objet :

    • [] : Mène directement à la création d'un tableau.
    • nouveau tableau : nécessite l'invocation du constructeur, la vérification des arguments et éventuellement l'exécution de vérifications de type supplémentaires.
  3. Fonction Appels :

    • [] : aucune surcharge d'appel de fonction.
    • new Array : appelle un constructeur, qui est généralement plus lent que la création directe d'objets.
  4. Ambiguïté :

    • [] : indique sans ambiguïté l'initialisation du tableau.
    • nouveau tableau : nécessite la VM JavaScript pour déterminer le action spécifique (par exemple, nouveau mot-clé, identifiant de tableau).
  5. Surcharge :

    • [] : crée toujours un array.
    • nouveau tableau : peut se comporter différemment en fonction du nombre d'arguments fournis. Cela ajoute encore plus de complexité et de surcharge lors de la création d'objets.

En résumé, l'utilisation de [] pour l'initialisation du tableau est plus rapide car elle ignore le traitement supplémentaire, l'invocation de fonction et la résolution d'ambiguïté requis. par le nouveau tableau. Le compilateur peut créer directement un tableau sans nécessiter que la VM effectue ces étapes supplémentaires.

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