В JavaScript Вы можете добавлять свойства любому объекту на этапе прогона программы. Отсутствует ограничение на использование только свойств, предоставленных конструктором функции. Чтобы добавить свойство отдельному объекту, Вы присваиваете значение этому свойству объекта таким образом:
mark.bonus = 3000;
Теперь объект mark имеет свойство bonus, но другие потомки WorkerBee этого свойства не имеют.
Если Вы добавляете новое свойство объекту, который используется как прототип конструктора функции, вы добавляете это свойство всем объектам, наследующим свойства от этого прототипа. Например, Вы можете добавить свойство specialty всем employee с помощью следующего оператора:
Employee.prototype.specialty = "none";
Когда JavaScript выполнит этот оператор, объект mark также получит свойство specialty со значением "none". На рисунке показано эффект от добавления этого свойства прототипу Employee и последующего переопределения этого свойства для прототипа Engineer.
Рисунок 8.4 Добавление Свойств