"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuándo evitar la creación de instancias inmediatas de clases anónimas?

¿Cuándo evitar la creación de instancias inmediatas de clases anónimas?

Publicado el 2024-11-08
Navegar:138

When to Avoid Immediate Instantiation of Anonymous Classes?

Creación de instancias inmediatas de clases anónimas: una advertencia

En ES6, es posible definir clases anónimas y crear instancias de ellas inmediatamente. Si bien esta sintaxis puede parecer atractiva al principio, es fundamental comprender sus riesgos y por qué se debe evitar en general.

Para crear una instancia de una clase anónima directamente, utilizamos la siguiente sintaxis:

var entity = new class {
    constructor(name) { this.name = name; }
    getName() { return this.name; }
}('Foo');

Detrás de escena, esto da como resultado la creación de una nueva función constructora y un objeto prototipo para cada instanciación. Esto significa que varios objetos creados con este método no compartirán ningún beneficio de la herencia de clases o las relaciones prototípicas.

Además, este enfoque socava los intentos de crear objetos únicos utilizando clases anónimas. Aún se puede acceder a la función constructora y utilizarla para crear instancias adicionales, lo que anula el comportamiento singleton previsto.

A la luz de estas advertencias, se recomienda encarecidamente evitar el uso de clases anónimas instanciadas inmediatamente. Los literales de objetos más simples ofrecen una alternativa más eficiente y directa:

var entity = {
    name: 'Foo',
    getName() { return this.name; }
};
Declaración de liberación Este artículo se reimprime en: 1729392136 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3