Classes

suggest change

Syntax

Remarks

class support was only added to JavaScript as part of the 2015 [tag: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 [tag:babel] or [tag:google-closure-compiler] in order to compile the code into a version that the target platform will be able to understand.

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents