this post was submitted on 30 Jun 2023
25 points (93.1% liked)

Programming

17668 readers
135 users here now

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 [email protected]



founded 2 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 25 points 2 years ago (2 children)

Whatever you do, I'd recommend using Typescript to give you some type safety with your JS.

[โ€“] DonjonMaister 3 points 2 years ago (1 children)

TypeScript is next on my list. The loose typing of JavaScript drives me a little nuts sometimes ๐Ÿ˜….

[โ€“] [email protected] 1 points 1 year ago* (last edited 1 year ago)

In that case you will love typescript. I'm not sure what other imperative languages have both type inference and structural typing.

[โ€“] [email protected] 2 points 1 year ago (1 children)

I hate the heavy JS env it requires.

Adding jsdoc to standard JS makes the ide provide some type help without TS. I find that to be a good, light alternative.

[โ€“] [email protected] 3 points 1 year ago (1 children)

The IDE support based on JSDoc is typescript (at least it is in all the ones I know about). They're just using TypeScript's JSDoc annotation support under the hood.

I'm not sure what you mean about the "heavy JS env" though, it's just calling tsc in your package.json or whatever build script you're using (or even if none, it's one command).

[โ€“] [email protected] 2 points 1 year ago (1 children)

I don't have nodejs installed. That's the heavy environment it depends on.

[โ€“] [email protected] 3 points 1 year ago

I think you do if your IDE is doing JSDoc-based autocompletion ๐Ÿ˜‰

It's just likely built into your IDE.