Задать вопрос
@historydev
Редактирую файлы с непонятными расширениями

Как в es5 забиндить контекст текущего класса-функции методу объекта?

Есть такой пример, нужно получить this.abc в методе объекта, es5 only, опустить контекст стрелочной не получится:
function Test() {
	this.abc = 123;
  this.obj = {
  	try: function() { console.log(this.abc) }
  }
}
  • Вопрос задан
  • 55 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
@historydev Автор вопроса, куратор тега JavaScript
Редактирую файлы с непонятными расширениями
https://developer.mozilla.org/en-US/docs/Web/JavaS...
function Test() {
	this.abc = 123;
  this.obj = {
  	try: function() { console.log(this.abc) }
  }
  return this
}

const t = new Test();
const obj = t.obj.try;
obj.apply(t)
Ответ написан
Lynn
@Lynn
nginx, js, css
Вообще обычно так:

function Test() {
  var that = this;
  this.abc = 123;
  this.obj = {
    try: function() { console.log(that.abc); }
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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