Originally JavaScript didn’t support classes, and class-like behavior had to be kludged using things like prototype
assignments for "class" functions. Fortunately, ECMAScript 2015 added classes, so any lingering prototype uses should be converted to
true classes. The new syntax is more expressive and clearer, especially to those with experience in other languages.
Specifically, with ES2015, you should simply declare a class and define its methods inside the class declaration.
Noncompliant code example
function MyNonClass(initializerArgs = []) {
this._values = [...initializerArgs];
}
MyNonClass.prototype.doSomething = function () { // Noncompliant
// ...
}
Compliant solution
class MyClass {
constructor(initializerArgs = []) {
this._values = [...initializerArgs];
}
doSomething() {
//...
}
}