Вопрос №56339 от пользователя Константин в уроке «Особенности работы this со стрелочными функциями», курс «JS: Введение в ООП»

Константин

Нет ли в тестах к заданию ошибки? Дан пример

const user = {
  age: 45,
  getAge: () => {
    return this.age;
  },
};

console.log(user.getAge());

И вопрос что будет выведено на экран? Вариант с ошибкой не проходит. Но ведь происходит исключение, так как this === undefined и у него нет свойства age.

TypeError: Cannot read property 'age' of undefined
2 0

Максим Литвинов

Константин, спасибо, что обратили внимание. Если запустить этот код в Node.js c модулями common js, то в this будет глобальный объект, этот код отработает и вернет undefined (можете поэксперементировать на repl.it). В Node.js с модулями es6 this у модуля равен undefined и это код отработает с ошибкой. Я добавлю в вопрос уточнение, что код запускается В Node.js с модулями es6 и поправлю ответ.

0

Максим Литвинов

Добрый день, Константин! Подкорректировал вопрос в тесте

0

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы соглашаетесь c «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
22 сентября 8 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
22 сентября 8 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
22 сентября 8 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
22 сентября 8 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
22 сентября 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Новый
Создает веб-приложения со скоростью света
22 сентября 5 месяцев

Похожие вопросы

Daniyar Zhanakhmetov 24 июля 2021 →

const company = { f1: () => { // стрелочная функция console.log(this); }, f2() { // обычная функ...

Владимир Лоскутов 27 июня 2021 →

Добрый день! Я бы в тесты добавил еще какую-нибудь проверку. Например, вот такую: each(objects, function ca...

Сергей 25 июня 2021 →

Добрый день, подскажите, может я не помню, а мы проходили уже функции колбэк?

Антон Попов 17 мая 2021 →

В упражнении в качестве колбека передается обычная функция, установка контекста в нее вполне проста и понят...

Denis Maibach 10 мая 2021 →

Здравствуйте, подскажите что я пропускаю почему когда я вызываю reduce то у стрелочной функции берется кон...