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.

  • SkyNTP
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    1 year ago

    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.