почему это значение внутри метода класса не равно самому объекту? - PullRequest
0 голосов
/ 12 октября 2019

У меня путаница в этом.

class Func {
  greet() {
    console.log(this);
  }
}
let g = new Func();
console.log(g.greet()===g);

Я думал, * значение 1004 * указывает на сам недавно созданный объект, но возвращает false.

Но если я сделаю это -

class Func {
  greet() {
    console.log(this===g);
  }
}
let g = new Func();
console.log(g.greet());

Возвращает истину.

Тогда почему первая ложна. Кто-нибудь может объяснить, что на самом деле происходит?

1 Ответ

0 голосов
/ 12 октября 2019

console.log(this) будет только записывать значение, а returns undefined ( implicit return ), вам нужно вернуть this

class Func {
  greet() {
    console.log(this);
    return this
  }
}
let g = new Func();
console.log(g.greet()===g);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...