Как понять когда нужен this в ООП, а когда нет? Привет! Пользуюсь eslint, который выдает мне ошибку class methods use this когда я пишу метод без чего либо что имеет контекст this. И тут у меня вштал вопрос. Зачем мне это нужно если я могу обойтись, в определенном участке кода, без this, используя только const let. Также я использую опен-сорсовый код для календаря. В котором переменные задаются вот так:findBlocks: function() { this.popup = $('.datepicker__calendar'); this.prev = $('.calendar__button_type_prev'); this.next = $('.calendar__button_type_next'); this.header = $('.calendar__button_type_current'); this.fieldInput = $('.datepicker__input'); this.content = $('.calendar__content'); this.yearsWrap = $('.calendar__years'); this.datesWrap = $('.calendar__dates'); this.monthsWrap = $('.calendar__months'); this.today = $('.calendar__today'); return this; }, правда тип использовал старый стандарт, но это не имеет значения, я запросто могу задать переменные var в рамках этого метода Но теперь объясните мне когда нужно использовать this контекст? Как объявлять переменные в методах: Вот так?const users = document.querySelectorAll('.event-users__filter-users'); Или так?this.users = document.querySelectorAll('.event-users__filter-users');
Когда нужно использовать this в ООП зависит от того, какой контекст вы хотите использовать в вашем коде.
Если вы хотите использовать переменные или методы объекта внутри его методов, то вам необходимо использовать this. Например, если вы создаете класс с методом, который должен работать с определенными свойствами этого класса, то вам необходимо использовать this.
Если у вас есть набор отдельных переменных или отдельных объектов, которые не связаны с каким-либо объектом, то вы можете использовать простые переменные без использования this.
В вашем случае, когда вы используете опен-сорсовый код для календаря, this используется для связывания переменных с текущим объектом (в данном случае, с объектом класса). Это позволяет вам использовать эти переменные внутри других методов этого класса.
Что касается объявления переменных в методах, то оба подхода допустимы:
Если вы хотите использовать переменную только в пределах этого метода и не хотите сохранять ее как часть объекта класса, то можете использовать первый подход. Если же вы хотите сохранить эту переменную как часть объекта и использовать ее в других методах этого класса, то используйте второй подход.
Когда нужно использовать this в ООП зависит от того, какой контекст вы хотите использовать в вашем коде.
Если вы хотите использовать переменные или методы объекта внутри его методов, то вам необходимо использовать this. Например, если вы создаете класс с методом, который должен работать с определенными свойствами этого класса, то вам необходимо использовать this.
Если у вас есть набор отдельных переменных или отдельных объектов, которые не связаны с каким-либо объектом, то вы можете использовать простые переменные без использования this.
В вашем случае, когда вы используете опен-сорсовый код для календаря, this используется для связывания переменных с текущим объектом (в данном случае, с объектом класса). Это позволяет вам использовать эти переменные внутри других методов этого класса.
Что касается объявления переменных в методах, то оба подхода допустимы:
const users = document.querySelectorAll('.event-users__filter-users');this.users = document.querySelectorAll('.event-users__filter-users');Если вы хотите использовать переменную только в пределах этого метода и не хотите сохранять ее как часть объекта класса, то можете использовать первый подход. Если же вы хотите сохранить эту переменную как часть объекта и использовать ее в других методах этого класса, то используйте второй подход.