JavaScript Прототипи об’єктів
Всі об’єкти JavaScript успадковують властивості та методи від прототипу.
В попередньому розділі ми дізнались, як використовувати конструктор об’єкту:
Приклад
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");
Спробуйте самі »
Ви також дізнались, що ви не можете додавати нову властивість до існуючого конструктора об’єкту:
Щоб додати нову властивість в конструктор, ви маєте додати її в функцію конструктора:
Приклад
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English";
}
Спробуйте самі »
Успадкування прототипу
Всі об’єкти JavaScript успадковують властивості та методи від прототипу:
Dateоб’єкти успадковують відDate.prototypeArrayоб’єкти успадковують відArray.prototypePersonоб’єкти успадковують відPerson.prototype
Object.prototype знаходиться в верхній частині ланцюжка успадкування прототипів:
Об’єкти Date, об’єкти Array та об’єкти Person успадковуються із Object.prototype.
Додавання властивостей та методів до об’єктів
Іноді вам необхідно додати нові властивості (або методи) до всіх існуючих об’єктів даного типу.
Іноді ви хочете додати нові властивості (або методи) в конструктор об’єкту.
Використання властивості prototype
JavaScript властивість prototype дозволяє додавати нові властивості в конструктори об’єктів:
Приклад
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
}
Person.prototype.nationality = "English";
Спробуйте самі »
JavaScript властивість prototype також дозволяє додавати нові методи в конструктори об’єктів:
Приклад
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;
};
Спробуйте самі »
Змінюйте лише свої власні прототипи. Ніколи не змінюйте прототипи стандартних об’єктів JavaScript.

