Основное правило здесь звучит следующим образом: прототип объекта задаётся в момент создания объекта и в дальнейшем явно изменён (полностью на новый объект) быть не может. Посредством же явной ссылки prototype в конструкторе, если она не менялась и всё ещё ссылается на тот же объект, можно дописывать новые свойства в прототип объекта.