Мне было интересно узнать о прототипной природе JavaScript и его преимуществах, и я составил следующий список:
1) Наследование
cat.prototype = animal
2) Эффективность памяти
a.prototype.b = function() {}
var a1 = new a();
var a2 = new a();
Тогда a1.b и a2.b - это, по сути, один и тот же объект, где:
var a = function() {
this.b = function() {};
}
var a1 = new a();
var a2 = new a();
a1.b и a2.b будут разными функциональными объектами и будут занимать больше памяти.
3) Добавление методов / полей к нескольким, уже созданным объектам "в дикой природе".
var a = function() {}
var a1 = new a();
var a2 = new a();
a.prototype.b = function() {}
a1.b();
a2.b();
Итак, вопрос в том, верны ли они?
... и есть ли еще какие-то преимущества, которые я упустил?
Ваше здоровье!