Допустим у меня есть две функции, создающие объект:
// Функция №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? В чем минусы первого варианта?