Introduction to classes in JavaScript

Posted by

Introduction to Classes in JavaScript

JavaScript is a powerful and flexible language that allows developers to create complex web applications. As such, it has a variety of tools and features that enable developers to create complex applications. One of these features is classes. Classes are a core concept in object-oriented programming and are essential for creating complex and maintainable applications.

What is a Class?

A class is a blueprint for creating objects. It is essentially a template that defines the properties and behaviors that an object of that type should have. Classes are useful for creating objects that have similar properties and behaviors, making it easier to maintain and extend the code. The objects created from classes are known as instances.

Classes are defined using the class keyword. Here is a simple example of a class definition:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  sayHello() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

[/dm_code_snippet]

In this example, we have defined a class called Person. The class has two properties, name and age, which are set in the constructor, and a method called sayHello which prints out the person’s name.

Creating Instances

Once a class is defined, it can be used to create instances. Instances are created using the new keyword and passing any necessary arguments to the constructor. Here is an example of creating an instance of the Person class we defined above:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

const john = new Person('John', 25);

[/dm_code_snippet]

This code creates a new instance of the Person class and assigns it to a variable called john. Now we can use this instance to access the properties and methods of the class. We can access the name and age properties like this:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

console.log(john.name); // John
console.log(john.age); // 25

[/dm_code_snippet]

And we can call the sayHello method like this:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

john.sayHello(); // Hello, my name is John

[/dm_code_snippet]

Inheritance

Inheritance is one of the core concepts of object-oriented programming that allows classes to inherit properties and methods from other classes. This is useful for creating more complex applications where different objects share common properties and behaviors. Classes can inherit from other classes using the extends keyword.

Here is an example of a class that inherits from the Person class we defined above:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

class Employee extends Person {
  constructor(name, age, jobTitle) {
    super(name, age);
    this.jobTitle = jobTitle;
  }

  getJobTitle() {
    console.log(`${this.name} is a ${this.jobTitle}`);
  }
}

[/dm_code_snippet]

This class inherits all the properties and methods of the Person class. It also has its own constructor and a method called getJobTitle which prints out the job title of the employee. We can create an instance of this class like this:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

const sarah = new Employee('Sarah', 32, 'Software Engineer');

[/dm_code_snippet]

This code creates an instance of the Employee class and assigns it to a variable called sarah. We can now access the properties and methods of the Employee class, as well as those of the Person class:

[dm_code_snippet background=”yes” background-mobile=”yes” slim=”no” line-numbers=”no” bg-color=”#abb8c3″ theme=”dark” language=”php” wrapped=”no” height=”” copy-text=”Copy Code” copy-confirmed=”Copied”]

console.log(sarah.name); // Sarah
console.log(sarah.age); // 32
console.log(sarah.jobTitle); // Software Engineer

sarah.sayHello(); // Hello, my name is Sarah
sarah.getJobTitle(); // Sarah is a Software Engineer

[/dm_code_snippet]

Conclusion

Classes are a powerful and important feature of JavaScript that enable developers to create complex applications. They allow objects to share common properties and behaviors, making it easier to maintain and extend the code. Classes also allow for inheritance, which enables developers to create more complex applications with less code.

In this tutorial, we have learned what classes are, how to define them, how to create instances of them, and how to use inheritance. We hope this tutorial has been helpful in understanding the power of classes in JavaScript.