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.

@hairyballs@programming.dev
link
fedilink
English
8
edit-2
1Y

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.

DonjonMaister
creator
link
fedilink
English
11Y

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? 😮

@Kissaki@feddit.de
link
fedilink
English
21Y

JavaScript is a prototype-based language. The class keyword uses prototypes.

Create a post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



  • 1 user online
  • 1 user / day
  • 1 user / week
  • 1 user / month
  • 1.11K users / 6 months
  • 1 subscriber
  • 1.21K Posts
  • 17.8K Comments
  • Modlog