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.

Class Constructor

Class Inheritance

Static Methods

Getters and setters

Private Members

Dynamic Method Names

Methods

Managing Private Data with Classes

Class Name binding

Feedback about page:

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



Table Of Contents