Что представляет собой ключевое слово `this` и как определяется его контекст в разных ситуациях?
this представляет собой ссылку на текущий контекст выполнения, который определяется способом вызова функции:
- В глобальной области видимости:
- В браузере им является объект
window(в том числе в строгом режиме) - В строгом режиме внутри обычной функции
thisравенundefined - В среде Node.js на верхнем уровне модуля –
module.exports({}), а неglobal
- В браузере им является объект
- В методе объекта:
- На контекст объекта
- В функции-конструкторе:
- На контекст объекта, созданного этой функцией оператором new
- В стрелочных функциях:
- На контекст родителя