JavaScript's "classes" are syntactic sugar atop of the original prototype model. If someone's interested in Classical OOP as is commonly understood, they won't like them. If someone is interested in functional programming, they won't like them. If someone is interested in a Scala-like marrying of the two, they won't like them.
I prefer functional programming, but the OO paradigm in itself isn't the problem. Since we use OOP exclusively at work, I wrote a Classical OOP implementation for ES3. Today it supports Scala's concept of stackable traits as well.
And for the record: I believe that classical inheritence (a class extending a class) is a violation of principle: it tightly couples, often breaks encapsulation for subtypes, and is just an all around mess. Given composition through objects and traits, OOP doesn't have to be bad. It gets a bad name because people (and languages) do terrible things. So do educational institutions.