Конструкторы (в сущности, как и остальные функции) автоматически получают свойство с именем prototype, которое по умолчанию содержит просто пустой объект, производный от Object.prototype. При желании его можно перезаписать новым объектом. Или же добавить свойства к существующему объекту, как в данном примере.
Выразительный JavaScript. Современное веб-программирование
·
Марейн Хавербеке