Если вы тестируете его с одним экземпляром объекта, это может быть неочевидно, поэтому протестируйте его с двумя объектами:
let obj2 = function(){};
let o1 = new obj2();
let o2 = new obj2();
obj2.prototype.age = 100;
console.log(o1.age);
console.log(o2.age);
Если вы измените прототип, то он повлияет на все экземпляры obj2
.
Если вы измените его только на o1
, то ондействует только на o2
:
let obj2 = function(){};
let o1 = new obj2();
let o2 = new obj2();
o1.age = 100;
console.log(o1.age);
console.log(o2.age);
Какой из них использовать?
Это зависит от варианта использования, но, безусловно, всегда неверно:
let o = new obj2();
obj2.prototype.age = 100;
console.log(o.age);