Нужно ли создавать переменные внутри методов объекта? Добрый день. Не так давно начал изучать ООП на js. Переписываю код в этот стандарт, для удобства взаимодействия непосредственно с объектами. До этого было много функций, некоторые из которых использовали глобальные переменные, которые были выше (чтобы доступ был у других фунций). Например: let table = document.getElemetsByClassName("tab")[0] И дальше функции с ней взаимодействовали (хотя сейчас понимаю что лучше вероятно сделать ее константой. Не совсем понимаю, поместить ли это в свойства объекта или сделать отдельную функцию и дальше присваивать полученный объект к свойству и обращаться через this. Безусловно свойства могут быть объектом, но вот с let, просто представить такую запись. А вот когда:Obj = {table : document.getElemetsByClassName("tab")[0]} Кажется странно. Или такая запись нормальна? Или всё же подобное лучше делать непосредственно в методе и присваивать уже значение свойству?

20 Сен 2021 в 19:59
124 +1
0
Ответы
1

Добрый день! В ООП на JavaScript можно создавать переменные как внутри методов объекта, так и вне их. Это зависит от потребностей вашего кода и структуры вашего приложения.

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

Однако, если переменная используется несколькими методами объекта или вам нужно сохранить ее состояние для последующих вызовов, то лучше объявить ее как свойство объекта. Это позволит вам легко обращаться к переменной из других методов объекта.

Также, если переменная используется в разных объектах и модулях, то может быть удобнее объявить ее в глобальной области видимости или в модуле и импортировать ее при необходимости.

В вашем примере с таблицей (let table = document.getElemetsByClassName("tab")[0]), если вы используете таблицу во многих методах объекта, то целесообразно сделать ее свойством объекта и обращаться к ней через this. Если же таблица используется только в одном методе объекта и больше нигде, то можно оставить как локальную переменную внутри этого метода.

Как правило, старайтесь минимизировать использование глобальных переменных и ограничивать область видимости переменных настолько, насколько это возможно. Это поможет избежать конфликтов имён и делать ваш код более чистым и понятным.

17 Апр в 11:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 776 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир