Loading lesson path
Concept visual
Start at both ends
All JavaScript objects inherit properties and methods from a prototype:
Date.prototype
Array.prototype
Object.prototype is on the top of the prototype inheritance chain. Date objects, Array objects, and all other objects inherit from Object.prototype.
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. Previously you have learned 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");You cannot add a new property to an existing object constructor:
Person.nationality = "English";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";
}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";The JavaScript prototype property also allows you to add new methods to object 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;
};Only modify your own prototypes. Never modify the prototypes of standard JavaScript objects.
JavaScript Object Getters & Setters