Прекратите использовать классы JavaScript! Перевод

Вы увязли в кодовой базе JavaScript, полной классов? Вы новичок в JavaScript и испытываете желание повторно использовать шаблоны из объектно-ориентированных языков? Вы когда-нибудь задумывались, есть ли лучший способ сделать что-то в JS?

Не бойся! Научившись писать идиоматический JavaScript, используя модули вместо классов, вы сможете писать код, который будет менее громоздким, более читабельным, простым в обслуживании и в целом обеспечит более приятный опыт разработки. В этой статье я покажу вам, почему в идиоматическом JavaScript следует избегать классов и почему вам следует отдавать предпочтение модулям.

Эта проблема:

Ниже приведен пример JavaScript, который я часто вижу в дикой природе:

class ContrivedClass {
  constructor(db) {
    this.db = db
  }
  getPerson() {
    return this.db.getPerson();
  }
}
// somewhere else in the code, this class is only called once
const contrivedClass = new ContrivedClass(db);
const person = contrivedClass.getPerson();
// do something with person

Выше вы видите класс JavaScript только с одним методом и одним аргументом конструктора для внедрения зависимости, и экземпляр класса создается только один раз. И моя реакция всегда одна и та же…

Удивление от JS

Почему это моя реакция? Потому что в JavaScript существует множество лучших способов написания кода, и все же в некоторых кодовых базах классы доминируют больше, чем Майкл Джордан в Space Jam!

Ты выглядишь расстроенным.

Что такое классы и почему у вас сложилось о них мнение?

Чтобы понять, почему классы не должны быть предпочтительным способом организации кода JavaScript, мы должны сначала понять, что такое классы и в чем они превосходны.

См. продолжение (англ.):

https://medium.com/giant-machines/stop-using-javascript-classes-d0b6890ef097

1 Ответ

  1. Хорошие моменты, но, в конце концов,¯классы имеют свое место и полезны. Я пишу код с ними, я пишу код без них. Иногда они имеют смысл, иногда нет.