Хочу добавить, что написал Берги.
Если эти методы (bark и sayName) необходимы для обработки входных параметров, вам определенно следует использовать их из конструктора.Простой пример: вы хотите хранить в себе класс Dog hashed 'name', достаточно простое 'name'.Для этого вы создадите метод hashDogsName, который вводит имя в качестве параметра и возвращает строку.
function hashDogName(name) { return name.split('').reverse().join(''); }
Пожалуйста, не пишите такую вещь, я написал этот беспорядок, чтобы показать, что функция возвращаетдругая строка
И в вашем конструкторе вы будете использовать его:
class Dog {
constructor(name) {
this.hashedName = this.hashDogName(name);
}
}
Поэтому вам нужно использовать функцию в конструкторе, если вам нужно сохранить отредактированный объект.В другой ситуации вам придется объяснить сотруднику / другим разработчикам, почему вы использовали функции в конструкторе.Я не вижу других случаев, почему вы должны использовать функции класса в конструкторе (кроме журналов).