Почему this в объекте не работает?
Почему this.port выдает - Cannot read property 'port' of undefined
const obj = {
server: "ru-RU",
port: 3000,
startServer: () => console.log(`Servert starting, port: ${this.port}`)
};
obj.startServer();
А если пытаюсь привязать контекст, то вовсе получаю undefinde, что-то не так с стрелочными функциями? С обычными функциями все работает
Ответы (1 шт):
Автор решения: Август
→ Ссылка
у стрелочных функций нет своего this, по-этому стрелочная функция, при выполнении, ищет контекст (this) в ближайшей родительской функции и использует его. если и там его нет, то поиск продолжается по цепочке (Scope) дальше.
если же ближайшей родительской функции вовсе нет - то контекстом будет является наш любимый window / global, как в Вашем случае
вот здесь почитайте