class
support was only added to JavaScript as part of the 2015 es6 standard.
Javascript classes are syntactical sugar over JavaScript's already existing prototype-based inheritance. This new syntax does not introduce a new object-oriented inheritance model to JavaScript, just a simpler way to deal with objects and inheritance. A class
declaration is essentially a shorthand for manually defining a constructor function
and adding properties to the prototype of the constructor. An important difference is that functions can be called directly (without the new
keyword), whereas a class called directly will throw an exception.
class someClass {
constructor () {}
someMethod () {}
}
console.log(typeof someClass);
console.log(someClass);
console.log(someClass === someClass.prototype.constructor);
console.log(someClass.prototype.someMethod);
// Output:
// function
// function someClass() { "use strict"; }
// true
// function () { "use strict"; }
If you are using an earlier version of JavaScript you will need a transpiler like babel or google-closure-compiler in order to compile the code into a version that the target platform will be able to understand.