Size: a a a

JavaScript Noobs — сообщество новичков

2020 August 01

IS

Ilyas Sarsenbaev in JavaScript Noobs — сообщество новичков
Не приведет ли к каким нибудь проблемам сохранение контекста в классах: var context = this; и считается ли это хорошей практикой? Пока что не перешел к es6.
источник

V

Vlad in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
Не приведет ли к каким нибудь проблемам сохранение контекста в классах: var context = this; и считается ли это хорошей практикой? Пока что не перешел к es6.
Раньше это было нужно, сейчас так писать не надо
источник

IS

Ilyas Sarsenbaev in JavaScript Noobs — сообщество новичков
Vlad
Раньше это было нужно, сейчас так писать не надо
почему?
источник

V

Vlad in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
почему?
Потому что стрелочные функции это решают
источник

ЛХ

Лапки Х in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
Не приведет ли к каким нибудь проблемам сохранение контекста в классах: var context = this; и считается ли это хорошей практикой? Пока что не перешел к es6.
К проблемам приводит var
источник

IS

Ilyas Sarsenbaev in JavaScript Noobs — сообщество новичков
Лапки Х
К проблемам приводит var
каким?
источник

AT

Alex Tuor4eg in JavaScript Noobs — сообщество новичков
Вместо var сейчас let если нужно ввести изменяемую переменную в рамках видимости, var не нужен
источник

V

Vlad in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
каким?
Менее предсказуемое поведение
источник

AT

Alex Tuor4eg in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
каким?
Можно получить переменную из внутреннего блока внешней функцией например. Или вызвать до объявления. Let такое не позволяет
источник

j

jk in JavaScript Noobs — сообщество новичков
источник

AT

Alex Tuor4eg in JavaScript Noobs — сообщество новичков
А вообще лучше всегда стараться использовать const)
источник

IS

Ilyas Sarsenbaev in JavaScript Noobs — сообщество новичков
Снова проблемы с контекстом:

constructor(object) {
   this.popupButton = object.popupButton;
   this.modal = object.modal;
   this.modalContent = object.modalContent;
   this.overlay = object.overlay;
   this.content = object.content;
   
   this.isOpen = false;

   this.popupButton.addEventListener("click", () => {
     this.trigger();
   });
 }


триггер не срабатывает.
источник

V

Vlad in JavaScript Noobs — сообщество новичков
Alex Tuor4eg
Можно получить переменную из внутреннего блока внешней функцией например. Или вызвать до объявления. Let такое не позволяет
?? Покажи псевдокодом
источник

j

jk in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
Снова проблемы с контекстом:

constructor(object) {
   this.popupButton = object.popupButton;
   this.modal = object.modal;
   this.modalContent = object.modalContent;
   this.overlay = object.overlay;
   this.content = object.content;
   
   this.isOpen = false;

   this.popupButton.addEventListener("click", () => {
     this.trigger();
   });
 }


триггер не срабатывает.
Тут скорее всего проблема не с контекстом
источник

IS

Ilyas Sarsenbaev in JavaScript Noobs — сообщество новичков
jk
Тут скорее всего проблема не с контекстом
с моим триггером? сейчас посмотрю.
источник

IS

Ilyas Sarsenbaev in JavaScript Noobs — сообщество новичков
точно, нашел.
источник

AT

Alex Tuor4eg in JavaScript Noobs — сообщество новичков
Vlad
?? Покажи псевдокодом
Ну типа  function() {
for (цикл) {
var t = 1
}
print(t) //1
}
Что нить такое
источник

IS

Ilyas Sarsenbaev in JavaScript Noobs — сообщество новичков
Alex Tuor4eg
Ну типа  function() {
for (цикл) {
var t = 1
}
print(t) //1
}
Что нить такое
что-то типо обратного замыкания?
источник

V

Vlad in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
что-то типо обратного замыкания?
нет, квадратные скобки не задерживают var, а let задерживают
из-за этого кстати и появился вопрос про for и setTimeout
источник

AT

Alex Tuor4eg in JavaScript Noobs — сообщество новичков
Ilyas Sarsenbaev
что-то типо обратного замыкания?
Это хойстинг работает. Для let это убрали
источник