Warum das Definieren von Eigenschaften im Prototyp als Antimuster betrachtet wird

Ich sehe oft dieses Muster, um Javascript-Objekte zu definieren

function Person(name) {
    this.name = name;
}
Person.prototype.describe = function () {
    return "Person called "+this.name;
};

Und inDieser Beitrag es heißt, dass das Hinzufügen von Eigenschaften direkt zum Prototypobjekt als Anti-Muster betrachtet wird.

Aus "klassischen klassenbasierten" Sprachen stammend, klingt es nicht ganz richtig, die Eigenschaften neben den Methoden definieren zu müssen, auch nicht in Javascript, wo eine Methode nur eine Eigenschaft mit einem Funktionswert sein sollte (bin ich hier richtig?)

Ich wollte wissen, ob jemand dies erklären oder sogar einen besseren Weg vorschlagen kann, um mit diesen Situationen umzugehen

Antworten auf die Frage(5)

Ihre Antwort auf die Frage