Defining Class Members

Get to know how to define and call methods and properties of the class.

When creating abstractions, we often arrive at methods that may not be specific to any particular instance. Sometimes, they are general, and sometimes, they may deal with multiple instances. A class method, instead of an instance method, is used to design these.

Static properties and static methods

JavaScript makes it easy to define static methods and static properties. It does not, however, provide an elegant way to define static fields. Let’s continue with our Car class to add a few static members.

First, let’s add a static field to the class. For this, we have to step out of the class definition, like so:

Car.distanceFactor = 0.01; //This goes outside class Car {...}

Property getters

We may also define property getters (and setters if we like), and those go within the class with the static prefix. For example, let’s define an ageFactor property as a class member:

static get ageFactor() { return 0.1; }

📍 Except for the static prefix, there’s no difference between how we define an instance property getter and a class property getter. Of course, the class property getters and setters will not have implicit access to any instance properties, fields, or methods.

Get hands-on with 1200+ tech skills courses.