Лексический это и предметы - PullRequest
0 голосов
/ 26 сентября 2018

Как я могу извлечь внутренний идентификатор?Я знаю, что можно изменить функцию жирной стрелки на стандартную функцию или вместо this.id использовать obj.id.Но есть ли другой способ получить внутренний идентификатор при использовании функции жирной стрелки?

var obj = {
  id: 1,
  cool: () => {
    console.log( this.id );
  }
};
var id = 2;
obj.cool(); // 2

1 Ответ

0 голосов
/ 26 сентября 2018

Функция стрелки не создает новую область и использует область родительского конструктора.в этом случае родителем является функция конструктора Windows, поэтому this относится к окну, и нет пути, кроме перечисленных вами

var obj = {
  id: 1,
  cool() {
    console.log( this.id );
  }
};
...