@jaylen.trantow
Прототип объекта в JavaScript является специальным объектом, который используется для наследования свойств и методов другого объекта. Прототип можно использовать для создания объектов на основе существующего объекта, а также для добавления новых методов и свойств к уже существующим объектам.
Создание прототипа объекта можно осуществить следующим образом:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// Создаем объект-прототип const myPrototype = { sayHello() { console.log('Hello!'); }, }; // Создаем новый объект на основе прототипа const newObj = Object.create(myPrototype); // Добавляем новый метод к новому объекту newObj.sayGoodbye = function() { console.log('Goodbye!'); }; // Вызов методов объекта newObj.sayHello(); // Выводит "Hello!" newObj.sayGoodbye(); // Выводит "Goodbye!" |
Таким образом, объект newObj
наследует метод sayHello
от объекта-прототипа myPrototype
и имеет свой собственный метод sayGoodbye
.
Чтобы узнать, какой объект является прототипом для другого объекта, можно использовать свойство __proto__
:
1
|
console.log(newObj.__proto__ === myPrototype); // Выводит "true" |
При этом рекомендуется использовать метод Object.create()
, чтобы создавать объекты с определенным прототипом, вместо присвоения прямой ссылки на прототип через __proto__
, так как это считается более безопасным подходом.