- cross-posted to:
- javascript@programming.dev
- cross-posted to:
- javascript@programming.dev
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?
Please share your thoughts.
OOP has it’s detractors. The arguments for or against functional and OOP usually have a thin veneer of objectivity, but ultimately usually boil down to schools of thought and personal preference.
I will say though that JavaScript really has very limited support for OOP which IMO makes it kind of very bad for Data Models and data representations. You’ll quickly run into some limitations, like lack of multi class inheritance, and the this keyword frequently gets overridden by local scope of some other kind.
But, you can make it work.
I would recommend Python or Ruby over JS if you want to go full on OOP.