Hello, everyone π. I am a newcomer when it comes to JavaScript. I come from an OOP background (C# and Java). I've recently learned that ES6 has a class keyword that preforms similarly (but not exactly) to common OOP languages. Normally I would be inclined to use this feature in my projects; however, it came to my attention that the usage of class in JavaScript seems to be heavily discussed (mostly in a negative light). My questions to this community are:
Should it be used often, sparingly, or be outright avoided?
What are its advantages and disadvantages?
Are there specific cases where the usage of class excels?
Not evil, but not the most common or expected way to modularise thing in js/ts, so your colleagues may have to think for a moment before they get used to your code. It's valid solution, though.
I think you should do what's comfortable to you, but also try to adapt to the common language in each of the code ases you will be working on, so that everyone is on the same page.
Typescript is useful, jsdoc type casting is useful, modules are useful.