Dlaczego definiowanie właściwości w prototypie jest uważane za przeciwwskazanie

Często widzę ten wzorzec do definiowania obiektów javascript

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

I wTen artykuł mówi, że dodawanie właściwości bezpośrednio do prototypowego obiektu jest uważane za anty-wzór.

Pochodzący z języków „klasycznych”, definiowanie właściwości poza metodami nie brzmi całkiem dobrze, bardziej w języku javascript, gdzie metoda powinna być po prostu właściwością o wartości funkcji (czy jestem tutaj?)

Chciałem wiedzieć, czy ktoś może to wyjaśnić, a nawet zaproponować lepszy sposób radzenia sobie z tymi sytuacjami

questionAnswers(5)

yourAnswerToTheQuestion