Рубрики
Uncategorized

Изменение прототипа на новый объект

До сих пор вы добавляете свойства к прототипу индивидуально: Dog.Prototype.numleg … Теги с DevOps, учебником, начинающим, JavaScript.

  • До сих пор вы добавляли свойства для Прототип индивидуально:
Dog.prototype.numLegs = 4;
  • Это становится утомительным после более чем нескольких свойств.
Dog.prototype.eat = function() {
  console.log("nom nom nom");
}

Dog.prototype.describe = function() {
  console.log("My name is " + this.name + ".");
}
  • Более эффективный способ — установить Прототип на новый объект, который уже содержит свойства. Таким образом, свойства добавляются все сразу:
Dog.prototype = {
  numLegs: 4,
  eat: function() {
    console.log("nom nom nom");
  },
  describe: function() {
    console.log("My name is " + this.name + ".")
  }
};

Не забудьте установить свойство конструктора при изменении прототипа

  • Существует один важный побочный эффект вручную установку прототипа на новый объект. Это стирает Конструктор имущество! Это свойство может быть использовано для проверки, какой конструктор функции создал экземпляр, но поскольку имущество было перезаписано, он теперь дает ложные результаты:
  • Чтобы исправить это, всякий раз, когда прототип вручную устанавливается на новый объект, не забудьте определить Конструктор имущество:
function Dog(name) {
  this.name = name;
}

Dog.prototype = {
  constructor: Dog, // <----
  numLegs: 4,
  eat: function() {
    console.log("nom nom nom");
  },
  describe: function() {
    console.log("My name is " + this.name);
  }
};

Оригинал: «https://dev.to/rthefounding/changing-the-prototype-to-a-new-object-110c»