Dans ES6, la possibilité de définir des classes anonymes fournit du sucre syntaxique pour les déclarations de classe. Bien que pratique, l'instanciation immédiate de telles classes peut entraîner une multitude de problèmes.
Lorsqu'une classe anonyme est instanciée immédiatement, JavaScript crée une nouvelle fonction constructeur et prototyper un objet de manière dynamique. Chaque évaluation de l'expression aboutit à une fonction de constructeur et à un prototype distincts.
Cette pratique présente plusieurs inconvénients importants :
Manque de réutilisabilité :
Contrairement aux classes nommées, les classes anonymes immédiatement instanciées créent à chaque fois un nouveau constructeur et un nouveau prototype. Cela signifie que plusieurs instances ne partageront pas le même prototype, perdant ainsi les avantages de l'héritage de classe et du partage de prototype. un objet singleton, il échoue. La fonction constructeur reste accessible, permettant la création de plusieurs instances à l'aide du nouveau Entity.constructor.
Éviter à tout prixLe consensus est clair : les classes anonymes immédiatement instanciées doivent être évitées. Un littéral d'objet simple offre une alternative plus efficace et plus simple :
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3