Não seria mais interessante fazer o uso de funções invés de classes, uma vez que JS suporta o paradigma funcional e a incentivo para o uso desse?
Não seria mais interessante fazer o uso de funções invés de classes, uma vez que JS suporta o paradigma funcional e a incentivo para o uso desse?
Oi, Delano! Como vai?
O que acontece por de baixo dos panos é o uso de Prototypes. Desde o Ecmascript 2015, o JavaScript ao menos permite o uso de classes, e muito vem fazendo para que essa sintaxe seja mais facilmente utilizada nos projetos (como a introdução de atributos privados e o uso de decorators, que ainda estão em fase de desenvolvimento).
Há quem diga que por causa do uso de Prototypes, o uso de classes prejudique a performance, mas é uma taxa tão baixa que na maioria dos projetos chega a ser insignificante.
Mas, o que eu acho que mais pesa em utilizar classes no back-end, com JavaScript, é a tradição de outras linguagens que suportam o paradigma Orientado a Objetos. Assim, podemos usar de padrões de projeto, como MVC, de forma clara. Isso facilita a leitura do código, e a escrita.
Já vi códigos de back-end que utilizavam funções e algumas características de MVC, e o código ficava muito mais confuso. Principalmente por causa da necessidade de herança, por exemplo.
Indico este artigo também, que fala um pouco mais do que eu falei: Class VS Function - Qual o jeito correto de escrever Javascript no mundo moderno?.
No fim das contas, é como o próprio artigo citado diz: depende. Talvez seu código funcione melhor no paradigma funcional. O benefício do JavaScript é justamente que, por ser uma linguagem flexível, você vai poder tomar essas decisões sem muita limitação.
Bons estudos!