A couple points:
"class = function = object"
This is wrong. There are no classes. Yes, they are being introduced in ES6 -- which is sure to be remembered as the biggest mistake ever made, despite the fact that they're essentially sugar. Pretending to be 'like java' with constructor functions and new was obviously a huge mistake. Why double-down?
(To everyone else reading) They're quite controversial. Not only are they unnecessary, but they introduce unnecessary complexity -- with no obvious benefit to compensate. It's pretty well established that prototypal OO is superior to classical OO in every way. It's simpler, requiring users to understand fewer concepts and yet it's still far more 'powerful'. On 'powerful' I'll direct you elsewhere as I'm not interested in arguing this point with the kool-aid drinking OO zealots. Search for something like 'prototypes vs classes'. If you have it, put your ACM DL subscription to good use.
(While I'm complaining. Arrows? => Way to introduce inconsistency, ECMA! )
although most of "anyone" will probably write you a horrible kludgy mess instead
I'd say that this is true for every language. Never judge the quality of a language by the quality of the code you inherit. No language can encourage developers to write 'good' or 'bad' code.