Задать вопрос
emilov
@emilov
Фрилансер

На что ссылается this в callback функции?

Есть вот такой код
class Foo {
	constructor () {
	}

	get (fn) {
		fn()
	}
}

var obj = new Foo()

obj.get(function () {
	console.log(this)
})


Почему this ссылается на window, ведь он же находится внутри обьекта obj
  • Вопрос задан
  • 226 просмотров
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
ChingizMuellim
@ChingizMuellim
FrontEnd, React Js
Во первых у вас в коде ошибка, не надо показывать fn как функцию заранее, она привет к TypeError. Во вторых, так не сработает, если фунция внешняя ее надо привязать с помощю методов(call, bind). Приведу привем основоваясь на твоем же коде.
class Foo {
  constructor (name) {
    this.name = 'Шрек'
  }

  get (fn) {
    fn
  }
}

var obj = new Foo()

obj.get(function () {
  console.log(this.name)
}.call(obj))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы