JavaScript Interview Question #109

What are JavaScript classes?

Closures, Prototypes, Classes & Advanced Functions Mid-Level Intermediate

Quick Interview Answer

JavaScript classes provide structured syntax for creating constructor/prototype-based object types. A class can contain a constructor, instance methods, static members, fields, getters, setters, and inheritance declarations.

Detailed Explanation

JavaScript classes provide structured syntax for creating constructor/prototype-based object types. A class can contain a constructor, instance methods, static members, fields, getters, setters, and inheritance declarations.

Classes do not replace JavaScript's prototype system; they provide a more declarative syntax over it. Class declarations also use strict-mode semantics and cannot be invoked without new.

Code Example

class User {
    constructor(name) {
        this.name = name;
    }

    greet() {
        return `Hello ${this.name}`;
    }
}

const user = new User("Asif");
console.log(user.greet());