Javascript prototypes – What are they?

February 10, 2023

Prototypes are a fascinating topic. In practice, they work similarly to classes in object-oriented programming languages like Java or C#. However, they are a bit different in that, when an instance of an object is created, that instance of the object doesn’t automatically inherit all the prototype properties and methods. However, unlike static properties in object-oriented programming languages, the properties and methods of object prototypes can be changed by object instances. In this way, Javascript prototypes are a bit more powerful than classes in programming languages like Java or C++. Static properties and methods in classes are inherited by every instance of that class in object-oriented programming languages like Java. In contrast, every object instance in Javascript can access the properties and methods in its object prototype. In that way, prototypes are similar to classes in object-oriented programming languages like Java. However, those properties and methods are not to use a computer science term “binded” to that object instance.

An example of this implemented in Javascript is as followed:

function Person(age, name, location) {

this.age = age;

this.name = name;

this.location = location; // Note this refers to this specific function. This always refers to the object in which this is called.

}

Person.prototype.getAge = function() {

console.log(this.age + ” years old”);

};

Note in more modern versions of Javascript, this can be rewritten as

Person.prototype.getAge = () => {

console.log(this.age + ” years old”);

}.

let person = new Person(34, Robert, California);

Typing person.getAge() will yield the result “34 years old” in the browser’s console. Similar prototypes can be written to obtain the age and location properties of each instance of the person function.

To read more blog posts like this visit our blog section here.

For a more in-depth discussion on Javascript prototypes, I recommend the book Head First: Javascript written by Eric Freemen and Emily Robson. Also, here is a link to a website explaining Javascript prototypes more in-depth.

Related Posts

Importing and Exporting Pages and Posts in WordPress

Importing and Exporting Pages and Posts in WordPress

Importing and exporting pages in WordPress In the ever-evolving world of WordPress, managing content can be daunting, especially when dealing with many pages. Whether you're migrating your website to a new host, creating a backup, or simply organizing your content,...

PHP Debugging Techniques for WordPress

PHP Debugging Techniques for WordPress

Understanding the Importance of Debugging in WordPress Development Debugging is an essential part of the software development lifecycle, particularly when working with complex systems like WordPress. For plugin developers, it serves as a critical tool to identify and...

The New CSS Features That Will Elevate Your Web Design

The New CSS Features That Will Elevate Your Web Design

Introduction Cascading Style Sheets (CSS) is a fundamental language for web design, responsible for defining the visual appearance and layout of websites. Since its inception, CSS has revolutionized the way we create and style web pages, enabling developers and...

Call Now Button