Допустим у меня есть две функции, создающие объект:
// Функция №1
function square(_a, _b) {
let a = _a;
let b = _b;
let area = 0;
let obj = {
computeArea: function() {
area = a * b;
},
getArea: function() { return area; },
get a() { return a; },
set a(value) { a = value; },
get b() { return b; },
set b(value ) { b = value; }
};
return obj;
}
// Функция №2
function Square(a, b) {
this.a = a;
this.b = b;
this.area = 0;
this.computeArea = function() {
this.area = this.a * this.b;
};
}
Я понимаю, что второй вариант записан короче. Тем не менее, почему я должен использовать this? В чем минусы первого варианта?