Прекратите использовать классы 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 только с одним методом и одним аргументом конструктора для внедрения зависимости, и экземпляр класса создается только один раз. И моя реакция всегда одна и та же…
Почему это моя реакция? Потому что в JavaScript существует множество лучших способов написания кода, и все же в некоторых кодовых базах классы доминируют больше, чем Майкл Джордан в Space Jam!
Ты выглядишь расстроенным.
Что такое классы и почему у вас сложилось о них мнение?
Чтобы понять, почему классы не должны быть предпочтительным способом организации кода JavaScript, мы должны сначала понять, что такое классы и в чем они превосходны.
См. продолжение (англ.):
https://medium.com/giant-machines/stop-using-javascript-classes-d0b6890ef097
Хорошие моменты, но, в конце концов,¯классы имеют свое место и полезны. Я пишу код с ними, я пишу код без них. Иногда они имеют смысл, иногда нет.