Не путать с библиотекой прототипов JavaScript, этот пост будет о самих прототипах.

Прототип - это свойство объекта, которое позволяет объектам наследовать общие функции друг друга. Все объекты JavaScript могут наследовать свойства и методы от Object.prototype. Даже сами прототипы обладают способностью наследовать больше свойств, иначе говоря, другой прототип, который обозначается как prototype chaining.

Вот пример использования прототипа:

Прототипы - очень полезный и мощный инструмент в программировании. Они позволяют вам одновременно добавлять свойства и определять методы для всех экземпляров определенного объекта. Когда это делается таким образом, он занимает меньше памяти, так как он сохраняется только один раз в самом прототипе, при этом предоставляя каждому экземпляру доступ к нему. Если вместо этого вы решите не использовать прототипы и добавить методы в конструктор, каждый раз, когда создается новый экземпляр объекта, сначала он не будет знать о свойствах до его создания. Во-вторых, будут созданы дублирующиеся функции, что займёт больше памяти и, в конечном итоге, замедлит вашу программу. По мере роста вашего приложения количество создаваемых экземпляров также будет увеличиваться, поэтому использование прототипов идеально подходит для снижения затрат.

Существует ряд различных методов, уже доступных для объектов-прототипов, которые являются полезными инструментами, которые можно реализовать. Вот некоторые из этих методов: .toString(), .valueOf(), .isPrototypeOf() и т. Д.

Object.create ()

Object.create() часто используется для создания прототипов, которые могут быть определены явно. Если вы создаете новый объект с помощью ключевого слова new, вы не сможете полностью контролировать его свойства. Функция Object.create() принимает два аргумента: первый аргумент - это объект-прототип, а второй - объект с определенными свойствами, которые вы хотите унаследовать от вашего вновь созданного объекта. Это более оптимальный способ создания объектов, чем использование ключевого слова new, поскольку нет необходимости вызывать или объявлять функцию-конструктор. Это также помогает сделать вашу программу более динамичной, поскольку вы будете создавать объекты с разными прототипами на основе предоставленных аргументов.

В программировании на JavaScript прототипы могут сбивать с толку, но как только вы начнете их использовать, вы сможете создавать более быстрые и эффективные приложения.