The fundamental part of most classes is its constructor, which sets up each instance’s initial state and handles any parameters that were passed when calling new.

It’s defined in a class block as though you’re defining a method named constructor, though it’s actually handled as a special case.

class MyClass {
    constructor(option) {
        console.log(`Creating instance using ${option} option.`);
        this.option = option;
    }
}

Example usage:

const foo = new MyClass('speedy'); // logs: "Creating instance using speedy option"

A small thing to note is that a class constructor cannot be made static via the static keyword, as described below for other methods.