Прототип JavaScript
Прототипы - это механизм, с помощью которого объекты JavaScript наследуют функции друг от друга. Прототипы можно использовать для добавления свойств и методов в существующий конструктор.
Допустим, у нас есть одна функция-конструктор:
function Person(name) { this.name = name; }
Теперь я создаю экземпляр для доступа к членам этого конструктора.
let obj = new Person(‘Premal’);
Теперь вы можете получить доступ к таким свойствам:
console.log(‘Name ’, obj.name);
До этого примера все было хорошо, но что, если я захочу добавить одно свойство в существующий конструктор?
Вы не можете добавить его прямо вот так.
Person.gender = ‘Male’;
Когда вы попытаетесь получить к нему доступ, вы получите значение undefined.
Вместо этого используйте прототип для добавления свойств и методов в конструктор.
Person.prototype.gender = 'male'
Объединение прототипов JavaScript
введите Object.prototype в консоли и посмотрите, что произойдет
На изображении выше вы можете видеть, что в свойстве prototype объекта определено большое количество методов. Это называется цепочкой прототипов. Эти свойства будут доступны в объектах, унаследованных от Object.
Давайте поучимся на примере:
let obj = {};
Выше я определил один объект, унаследованный от Object.
Теперь попробуйте вызвать эту переменную с именем obj
Напишите obj. В консоли
Код покажет все предопределенные методы Object, которые мы видели ранее.
Как мы знаем, все объекты JavaScript наследуют свойства и методы от прототипа. Мы можем увидеть еще один пример цепочки прототипов.
позволяет определить одну строковую переменную в консоли:
let a = ‘premal’
введите. и просмотреть все методы и свойства строки, называемой цепочкой прототипов JavaScript
Вы можете увидеть все строковые методы и свойства, что и есть в цепочке прототипов.
Источник блога: http://www.premalkatigar.com/technology/understanding-javascript-prototype-and-prototype-chaining/
Удачного кодирования!