Есть класс с конструктором и методом класса. В методе объявлена функция, которая выполняется при нажатии на кнопку. Проблема в том, что внутри этой функции не видны объекты класса, объявленные в конструкторе. Как исправить эту проблему?
class user {
constructor(name) {
this.name = name;
}
sayName() {
const button = document.getElementById('btn');
button.onclick = function() {
alert(this.name); //Значение this.name не определено в пределах данной функции
};
}
}
let user1 = new user('John');
user1.sayName(); //Ничего не выведет, т.к. значение this.name не определено в функции, объявленной внутри метода sayName()
Нужно сделать так, чтобы this.name было видно в пределах всего класса, в т.ч. и во всех функциях, объявленных внутри него. Может быть можно создать глобальную переменную класса, чтобы можно было использовать её или какой-то указатель?