A necessary evil
Or is it?
In JS classes aren’t a thing. The way things get their properties is much more direct. Each function is a self contained world that is on it’s own. So no classes. Also no methods. JS has functions and functions are our “verbs” but they are really self contained and work different than methods do.
They will either sound confusing or make sense to you depending upon your background in computer programming.
Also no ends. Or we have endings but not actual “end”s and now they are semicolons. So yes. Semicolons everywhere!
Let’s talk about Abstraction. Good code should rely on it. The language you choose shouldn’t make a huge difference as long as it gives you the tools to use abstraction and JS does a good job of insuring you can.
That brings me to the actual words in the language. JS has a really similar set of words it uses to solve the same problems all other languages face. It maps, reduces, it does all kinds of stuff.
So in the end there are some differences but there’s also a lot of similarities. So conceptually they have similar end games it’s just the routes they take to get there that are different.