Как обратиться к методу класса? класс User и два extends этого же класса, также есть функция в ней if - там мы присваиваем объект переменной. В конце берём метод isAdmin из CommonUser и записываем в document.cookie. Суть в том - что браузер не находит нужный объект, точнее я не могу понять.
Проблема с областью видимости, но если установить запись куки непосредственно в if возле beUser и всё это оберну в return () => {...} не будет работать всё равно, подскажите как правильно сделать.
В самом низу обращение к классу!
let isAdmin = false;
class User {
constructor(userName, phone, email, psw, country, postCode, userText) {
this.userName = userName;
this.phone = phone;
this.email = email;
this.psw = psw;
this.country = country;
this.postCode = postCode;
this.userText = userText;
}
}
class CommonUser extends User {
constructor(
userName,
phone,
email,
psw,
country,
postCode,
userText,
isAdmin
) {
super(userName, phone, email, psw, country, postCode, userText);
this.isAdmin = isAdmin;
}
}
class AdminUser extends User {
constructor(
userName,
phone,
email,
psw,
country,
postCode,
userText,
isAdmin
) {
super(userName, phone, email, psw, country, postCode, userText);
this.isAdmin = isAdmin;
}
}
function registrationUser() {
if (isAdmin) {
let beAdmin = new AdminUser(
userName.value,
phone.value,
email.value,
psw.value,
country.value,
postCode.value,
userText.value,
isAdmin
);
messageUserOrAdmin.innerHTML = `${beAdmin.userName} you is admin`;
console.log(`${beAdmin.userName} you is admin`);
console.log(beAdmin);
console.log(document.cookie);
} else {
let beUser = new CommonUser(
userName.value,
phone.value,
email.value,
psw.value,
country.value,
postCode.value,
userText.value,
isAdmin
);
messageUserOrAdmin.innerHTML = `${beUser.userName} you don't admin`;
console.log(`${beUser.userName} you don't admin`);
console.log(beUser);
}
}
let adminAccess = beUser.isAdmin;
document.cookie = `${adminAccess} max-age=3000;`;
console.log(document.cookie);