Tengo dos clases definidas, digamos Animal y Rabbit. Rabbit extiende Animal y tiene algunos métodos adicionales además de los definidos en Animal.
Cuando el usuario ejecuta mi aplicación, se crea una instancia de Animal (digamos myAnimal). Luego, dependiendo de algo que haga el usuario, es posible que deba "mejorar"/convertir myAnimal en la clase heredada Rabbit. ¿Es esto posible en JavaScript moderno para que los métodos adicionales definidos en Rabbit ahora estén disponibles para myAnimal?
La sugerencia de @Etheryte funcionó. Definí un método estático de Animal en Rabbit que crea un nuevo Rabbit, establece las propiedades de Animal dado (myAnimal) y devuelve esa instancia. Incluye todo el procesamiento al que se ha sometido myAnimal hasta el momento. Gracias.
No, no puedes.
de otra manera, puede crear una instancia de Rabbit - myRabbit con propiedades de myAnimal . (comentario de @Etheryte arriba)
o use el decorator de Typescript