However, you can identify the type of constructs that you are talking about, which try to accommodate programmers coming from other languages, by some common patterns:
Anything that’s just a wrapper around existing functionality and is named like something similar in other languages, is probably unnecessary.
Also, the new functional programming trend, for which JS is well suited, does away with OOP altogether and the consensus seems to be that this is probably a good thing.
The good news is, that JS lets you do all that.
The bad news is, that JS lets you do all that.