Spyke
javascriptยทJavaScriptbyDonjonMaister

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

cross-posted from: https://programming.dev/post/302850

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.

View original on programming.dev

It's not the best, but people demonize it too much in my opinion. I would say to just use them and see if they work for your use case.

I hear a lot of "just use functions / objects" but for some things (IE, game dev) classes are objectively better in my opinion (it makes more logical sense to do "objects.push(new Car())" than to do it with functions or objects in my opinion, possibly a hot take)

7
programming.dev

Itโ€™s much better than the alternative, which is the .prototype. system thing that I still donโ€™t fully get.

5

I mean, it's syntactic sugar but for the most part it will perform in line with how the average Joe expects classes to work.

I use them sometimes. I avoid them other times.

If you're new to JavaScript, go ahead and use them and if you find s usecase where they don't work to your expectatiob you can start learning about why there aren't "true oop classes".

4

I think it's primarily because OOP has fallen out of favor for more functional JS. But when they first introduced classes I was elated because they were way better than the Prototype based inheritance we used to have to deal with. I just don't want to write OO anymore

3

You reached the end

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