Найти в Дзене
Онлайн-школа METHED

ПРОТОТИПНОЕ НАСЛЕДОВАНИЕ В JAVASCRIPT

В классическом наследовании  классы наследуют от других классов. В JavaScript объекты могут наследовать напрямую от других объектов. А прототипное наследования позволяет объектам наследовать свойства и методы от других объектов — прототипов.⠀

Основная проблема, которую решает наследование –  дублирования данных и логики. За счёт этого объекты могут использовать свойства и методы совместно и не нужно каждый раз вручную устанавливать вмё для каждого объекта отдельно.

Все объекты в JavaScript имеют внутреннее свойство под названием [[Prototype]], которое ссылается на другой объект или null. Именно он называется прототипом. При вызове метода JavaScript ищет свойство в объекте и его прототипном объекте.

Плюсы прототипного наследования ⬇️
▪️ Создание динамических объектов, которые могут изменять свои свойства и методы прямо во время выполнения программы.
▪️ Меньшее написания кода, так как определение классов и наследования не требуется.
▪️ Легко читаемый и гибкий код за счёт создания объектов, которые непосредственно  наследуют свойства и методы от других объектов.⠀

Также наследовать в JavaScript можно через:
– цепочку прототипов;
– конструктор;
– композиционное наследование;
– паразитическое наследование;
– наследование через классы ES6⠀

Важно! Несмотря на все эти методы, прототипное наследование – оптимальное решение для многих систем, а выбор подходящего метода наследования  зависит от потребностей проекта.

#methed_про_ит