Почему определение свойств в прототипе считается антипаттерном

Я часто вижу этот шаблон для определения объектов JavaScript

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

И вЭта статья это говорит о том, что добавление свойств непосредственно к объекту-прототипу считается антишаблоном.

Исходя из «классического класса на основе» языки, определяющие свойства отдельно от методов, звучат не совсем правильно, более того, в javascript, где метод должен быть просто свойством со значением функции (я прав здесь?)

Я хотел знать, может ли кто-нибудь объяснить это или даже предложить лучший способ справиться с этими ситуациями

Ответы на вопрос(5)

Ваш ответ на вопрос