А зачем authInfo делать методом какого то класса?
Методы класса нужны, что бы как то работать с объектами членами класса.
Я так понимаю, что в VK.Auth.getLoginStatus нужно передать какую то функцию, но эта функция никак не связана ни с каким объектом
Если так уж нужно, что бы она как-то имела доступ с какому то объекту, да еще через this то можно так
class C1 {
f1() { console.log(this); console.log("f1"); }
}
authInfo(response) {
if (response.session) {
if (response.session.user) {
var user = response.session.user;
}
}
this.f1(); // работает
// c1.f1(); // - не нужно
}
let c1 = new C1();
VK.Auth.getLoginStatus(authInfo.bind(c1));
let c2 = new C1();
VK.Auth.getLoginStatus(authInfo.bind(c2));
Если очень хочется, привязать ее к классу (ну, кажется, что код яснее, понятнее, красивее)
то можно так
class C1 {
f1() { console.log(this); console.log("f1"); }
static authInfo(response) {
if (response.session) {
if (response.session.user) {
var user = response.session.user;
}
}
this.f1(); // будет работать
// c1.f1(); // не нужно
}
}
let c1 = new C1();
VK.Auth.getLoginStatus(C1.authInfo.bind(c1));
без bind тут трудно обойтись, т.к. внутри VK.Auth.getLoginStatus переданная функция вызывается без привязки к какому либо объекту.