PavelScron
@PavelScron

Когда для добавления свойств использовать object.prototype?

Когда имеет смысл определять сразу в конструкторе?

let objCreate = function(name) {
	this.who = name;
  this.suicide = function() {
	alert(`${this.who} wants to die`);
};  };


а когда имеет смысл через protype добавлять?

let objCreate = function(name) {
	this.who = name;
};

objCreate.prototype.suicide = function() {
  alert(`${this.who} wants to die`);
} ;


В чем основная разница?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Разница в том, что в случае прототипов, вы единожды создаете функцию и потом конструктор раскидывает ссылку на эту функцию в ваше свойство suicide. А в первом случае, при каждом вызове конструктора будет создаваться отдельная копия данного метода.
Ответ написан
Negezor
@Negezor
Senior Shaurma Developer
В том что в прототип используется для всех инстанций, а функция внутри каждого объекта уникальна и к тому же для неё требуется больше ресурсов. Лучше используйте классы.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы