Javascript prototypes – What are they?

February 11, 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 Headfirst: Javascript written by Eric Freemen and Emily Robson. Also, here is a link to a website explaining Javascript prototypes more in depth.

Related Posts

What is a Website?

What is a Website?

In today's digital age, a website plays a crucial role in establishing an online presence for individuals, businesses, and organizations. It serves as a platform to share information, promote products or services, connect with an audience, and facilitate various...

What is Mixed Reality: Exploring the Future of Technology

What is Mixed Reality: Exploring the Future of Technology

Introduction In a world where technology continues to evolve at an astonishing pace, the line between the virtual and real world is becoming increasingly blurred. What was once only imaginable in the realm of science fiction is now becoming a breathtaking reality....

The Languages of the Web: HTML, CSS, and JavaScript

The Languages of the Web: HTML, CSS, and JavaScript

In the world of web development, three languages reign supreme: HTML, CSS, and JavaScript. These languages are the building blocks of the web, allowing developers to create dynamic and interactive websites. In this article, we will explore the basics of HTML, CSS, and...

Call Now Button