Prototype
Автор конспекта: Стогниева Виктория
1. Основная цель функций-конструкторов 🎯
Функции-конструкторы предназначены для создания однотипных объектов, которые имеют одинаковое поведение, но отличаются внутренними характеристиками.
2. Проблема дублирования функциональности ⚠️
❌ Плохой подход — методы внутри конструктора:

Проблемы:
- 🗄️ Избыточное использование памяти - каждый объект содержит свои копии методов.
- 🔁 Дублирование идентичного кода - одинаковые функции создаются многократно.
- 📈 Снижение производительности - увеличение времени инициализации и потребления ресурсов.
3. Решение: Прототипы 💡
Что такое прототип?
- 📋 Любая функция имеет свойство
prototype. - 🔗 Это вложенный объект-контейнер для методов.
- 🎯 Используется при вызове с оператором
new.
✅ Правильный подход:
4. Механизм поиска методов🎯
1)🔍 JavaScript ищет метод start в объекте reno.
2)📦 Если не находит — обращается к Car.prototype.start.
3)🎯 Вызывает метод с контекстом this = reno.
5. Ограничения: что НЕЛЬЗЯ помещать в прототип🚫
❌Примитивные свойства
❌Сложные объекты
В протип цепляем только методы, в конструкторе определяем только свойства
Это золотое правило предотвращает:
- 🎯 Дублирование кода - методы не повторяются в каждом экземпляре.
- 🔗 Нежелательное общее состояние - свойства изолированы в отдельных объектах.
- 🐛 Трудные для отладки ошибки - избегаем непредсказуемого поведения.
- 📉 Потерю производительности - оптимизируем использование памяти и скорость.


