๐Ÿ”ฅ Discussion ๐Ÿ”ฅ ES6 Classes. Good or Evil?

DonjonMaister@programming.dev to Programming@programming.dev – 1 points –

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.

19

You are viewing a single comment

I don't like/use the class keyword in JS, because I quite like the paradigm with prototypes & stuff, and that keyword tries to make it fit into a totally different paradigm, which doesn't really work IMHO.

With TS, I find it even more useless, because I can use TS as a functional language, with POD, functions and interfaces only. I've written entire projects without ever using and needing this keyword, which is a proof IMHO that it's an unnecessary addition. Not sure how unpopular is my opinion tho ๐Ÿ˜…

BTW, I've developped a few strats to have my own style in TS that I like quite a lot. I can tell more if you're interested.

I donโ€™t like/use the class keyword in JS, because I quite like the paradigm with prototypes & stuff, and that keyword tries to make it fit into a totally different paradigm, which doesnโ€™t really work IMHO.

I've read somewhere that Javascript is more of a prototype-oriented language rather than an object-oriented one. Do you agree with this?

BTW, Iโ€™ve developed a few strats to have my own style in TS that I like quite a lot. I can tell more if youโ€™re interested.

Thank you! But maybe not right now; I'm still learning the basics. Have you considered write an article about it? ๐Ÿ˜ฎ