Tengo varias instancias de las clases que tienen la misma clase principal. Y para casos específicos, se requiere actualizar la propiedad de la clase principal para que todas las instancias disponibles de las clases secundarias accedan a la propiedad actualizada.
Puedo alcanzarlo con prototype en caso de que la propiedad de clase no exista ya:
class Foo { someVal = 'Hello' } class Bar extends Foo { } let inst = new Bar() Foo.prototype.someNewValue = 'Hello World' console.log(inst.someNewValue) //Hello WorldPero en mi caso necesito actualizar una propiedad ya existente:
class Foo { someVal = 'Hello' } class Bar extends Foo { } let inst = new Bar() Foo.prototype.someVal= 'Hello World' console.log(inst.someVal) //Still output "Hello" because existing property value has a more priority than a value from prototype. While "Hello World" is desirableCon el prototype , no puede sobrescribir y cambiar la propiedad de la clase, pero puede establecer la nueva propiedad en la clase, intente esto:
class Foo {} class Bar extends Foo {} let inst = new Bar(); Foo.prototype.someVal = "Hello World"; console.log(inst.someVal); //hello world