Page 1 of 1

JavaScript Object Prototypes

Posted: Fri Oct 27, 2023 9:07 am
by Guest
JavaScript Object Prototypes


All JavaScript objects inherit properties and methods
from a prototype.

In the previous chapter we learned how to use an object constructor:

Example

function Person(first, last, age, eyecolor) {
 
this.firstName = first;
  this.lastName = last;
 
this.age = age;
 
this.eyeColor = eyecolor;
}
const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");

Try it Yourself »

We also learned that you can not add a new property to an existing object constructor:

Example

Person.nationality = "English";

Try it Yourself »

To add a new property to a constructor, you must add it to the
constructor function:

Example

function Person(first, last, age, eyecolor) {
 
this.firstName = first;
 
this.lastName = last;
 
this.age = age;
 
this.eyeColor = eyecolor;  this.nationality = "English";
}

Try it Yourself »








Prototype Inheritance
All JavaScript objects inherit properties and methods from a prototype:

Date objects inherit from Date.prototype
Array objects inherit from Array.prototype
Person objects inherit from Person.prototype

The Object.prototype is on the top of the prototype inheritance chain:
Date objects, Array objects, and Person objects inherit from Object.prototype.
Adding Properties and Methods to Objects
Sometimes you want to add new properties (or methods) to all existing objects of a given type.
Sometimes you want to add new properties (or methods) to an object
constructor.

Using the prototype Property
The JavaScript prototype property allows you to add new properties to object
constructors:

Example

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";

Try it Yourself »

The JavaScript prototype property also allows you to add new methods to objects
constructors:

Example

function Person(first, last, age, eyecolor) {
  this.firstName = first;
  this.lastName = last;
  this.age = age;
  this.eyeColor = eyecolor;
}
Person.prototype.name = function() {
  return this.firstName + " " + this.lastName;
};

Try it Yourself »


Only modify your own prototypes. Never modify the prototypes of
standard JavaScript objects.














+1

Reference: https://www.w3schools.com/js/js_object_prototypes.asp