que tienen una variable en un ámbito global que se asigna una instancia de una clase como esta:¿Se puede reemplazar una instancia de una clase en JavaScript?
window.someInstance = new MyClass();
En algún momento más tarde, tengo que sustituir esa variable con una nueva instancia, pero es posible/aceptables hacer eso desde dentro de un método de la clase en sí? Por ejemplo:
function MyClass() {
this.myClassMethod = function() {
window.someInstance = new MyClass();
};
}
window.someInstance = new MyClass();
window.someInstance.myClassMethod.call();
Un escenario raro, lo sé, pero funciona limpiamente, pero no estoy seguro si esto crea ninguna memoria o cuestiones que hacen referencia?
Gracias
Sobrescribir una variable no es la misma que la sustitución de una instancia - la instancia puede ser almacenado en varios lugares a la vez, como variables o propiedades de objetos. – pimvdb
¿Por qué tienes que reemplazarlo de la clase en sí? –
Ahora me tienes escribiendo un código raro en mi cabeza ... 'this = eval (" nuevo "+ typeof (this) +"() ");' ... XD –