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

21 Авг 2019 в 06:58
180 +1
0
Ответы
1

Использование замыканий или this в данном случае зависит от конкретной ситуации и предпочтений разработчика. В обоих вариантах реализации есть свои плюсы и минусы.

Минусы первого варианта (использование замыканий):

Более сложная структура кода из-за необходимости объявлять переменные внутри функции.Возможно некоторое увеличение потребления памяти из-за хранения переменных внутри замыканий.Необходимость вызывать функцию square каждый раз при создании нового объекта.

Плюсы второго варианта (использование this):

Более простая структура кода благодаря использованию this.Возможность легкого расширения функционала объекта через прототипы и наследование.Удобство доступа к свойствам объекта через this.

Итак, оба подхода имеют свои достоинства и недостатки. Выбор между использованием замыканий и this зависит от конкретной задачи и стиля программирования разработчика.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир