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

E-commerce: An introduction

E-commerce: An introduction

Note: Much of the information in this blog post comes from Google’s online Digital Marketing and E-commerce course on Coursera. Introduction E-commerce is the buying and selling of goods or services using the internet. In other words, e-commerce involves a store that...

Digital Marketing terminology(part 6)

Digital Marketing terminology(part 6)

Digital Marketing Terminology(part 6) Note: These terms are from the Google Digital Marketing & E-commerce course 6: Make the Sale: Build, Launch, and Manage E-commerce Stores A Abandoned cart email: A follow-up email sent to customers who added an item to their...

Digital Marketing terminology(part 5)

Digital Marketing terminology(part 5)

Digital Marketing Terminology Note: These terms are from the Google Digital Marketing & E-commerce course part 5: Assess for Success: Marketing Analytics and Measurement A A/B testing: A method of testing where two versions of content with a single differing...

Call Now Button