Добавление свойств

Самое лучшее решение в том, чтобы не добавлять свойств, встроенных в прототип. Нарушать это правило можно в следующем случае:

  • Ожидается, что ECVAScript в будущем будет поддерживать данное свойство
  • Вы точно знаете, что свойство, которое вы собираетесь добавить, еще не реализовано в языке
  • Вы документировали данное изменение и согласовали со своей командой
if (typeof Object.protoype.myMethod !== "function") {
Object.protoype.myMethod = function () {
// реализация...
};
}
Источник – книга «JavaScript Patterns», Stoyan Stefanov
Редактировать на GitHub