En lugar de crear un duplicado de la propiedad cada vez, simplemente podemos agregar la propiedad al prototipo, ya que todas las instancias tienen acceso al objeto prototipo.

class Dog {
  constructor(name) {
    this.name = name;
  }

  bark() {
    return `Woof!`;
  }
}

const dog1 = new Dog("Daisy");
const dog2 = new Dog("Max");
const dog3 = new Dog("Spot");

Dog.prototype.play = () => console.log("Playing now!");

dog1.play();
Foolish Flamingo