это против прототип [дубликат]

На этот вопрос уже есть ответ:

Использование «прототипа» против «этого» в JavaScript? 14 ответов

В чем разница между определением метода «area» как свойства «this» вместо «prototype»?

//console.clear()

function Rectangle(w, h) 
{
    this.width = w;
    this.height = h;
    this.area = function( ) { return this.width * this.height; }
}


var r = new Rectangle(2, 3);
var a = r.area( );

//console.log(a)

function Square(s) 
{
    this.side= s;
}

Square.prototype.area = function(){return this.side * this.side; }

var r = new Square(2);
var a = r.area( );

//console.log(a)

ВJavaScript - The definitive guide в разделеPrototypes and Inheritance ofChapter 9 , part 1, автор говорит, что определение «области» метода внутри объекта-прототипа полезно, но его объяснение не совсем понятно:

".. область каждого отдельного объекта Rectangle всегда ссылается на одну и ту же функцию (конечно, кто-то может изменить ее, но вы обычно подразумеваете, что методы объекта являются постоянными). Неэффективно использовать обычные свойства для методов, которые предназначены для совместного использования всеми объектами одного и того же класса (то есть всеми объектами, созданными в одном конструкторе). "

Я знаю, что этот вопрос выглядит почти какэт один, но это не так.

Ответы на вопрос(1)

Ваш ответ на вопрос