Паттерн Prototype создает новые объекты путем клонирования существующего объекта, а не создания его с нуля. Существующий объект выступает в роли шаблона, и все новые объекты наследуют его свойства, оставаясь независимо настраиваемыми.
JavaScript поддерживает этот паттерн нативно благодаря прототипному наследованию. Основной инструмент — Object.create(), который создает новый объект, используя существующий объект в качестве прототипа:
const carPrototype = { wheels: 4, drive() { return "Driving"; } };
const myCar = Object.create(carPrototype);
myCar.color = "red"; // независимая настройка
Здесь myCar наследует все свойства carPrototype, но может быть расширен без влияния на оригинал.
new в каждом случаеПаттерн Prototype наиболее полезен когда:
Когда ты используешь Object.create() для реализации паттерна Prototype, изменения свойств на клонированном объекте автоматически обновят исходный прототип, если только свойство не переопределено на клоне.
Новый — ещё не проверен сообществом
Вы