Прототип 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/

Удачного кодирования!