DirecTwiX
@DirecTwiX
"display: flex;" уже предлагали?

Как работает this?

Объясните плз, почему так происходит.
r9eSSsL.png
  • Вопрос задан
  • 164 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
Ivanq
@Ivanq
Знаю php, js, html, css
В 1 случае используются стрелочные функции. Они не имеют своего this, наследуя родительский. Например:
// Пусть this - [object MyObject]
function log() {
    console.log(this);
};

var obj = new MyObject2();
obj.on("ready", () => log()); // [object MyObject];


Во 2 случае просто передается функция, еще не вызванная. А когда она вызывается, используется другой this.
// Пусть this - [object MyObject]
function log() {
    console.log(this);
};

var obj = new MyObject2();
obj.on("ready", log); // [object MyObject2];
Ответ написан
Комментировать
@warcevil
Все очень просто, вам просто надо почитать про классы. У них есть свойства и функции. Так вот когда мы используем this, мы указываем, что хотим обратиться к свойству или методу экземпляра этого класса. Попробуйте рассмотреть ваш код более детально. Если поднимитесь повыше, вы увидите, что свойство msg объявлено сверху, ну или объявлено в родительском классе, от которого наследуется ваш класс.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы