@lil_web

Что сделать, чтобы (4).add(3) равнялось 7?

На собеседованиях дают следующий код и спрашивают, что сделать, чтобы вывелось 7.
console.log((4).add(3)); // 7

Я добавляю метод в прототип числа, но получаю неверный ответ:
Number.prototype.add = (b) => this + b;

console.log((4).add(3)); // [object Window]3 в браузере или [object Object]3 в Ноде вместо 7

Подскажите, пожалуйста, как правильно решить этот вопрос.
  • Вопрос задан
  • 109 просмотров
Решения вопроса 1
Aetae
@Aetae
Тлен
Решить вопрос можно прочитав любой учебник по основам.

Конкретно тут проблема в том, что this есть только у настоящих функций.
Если вам нужна функция - используйте нормальную функцию. Стрелочные функции придуманы для конкретных случаев - коротких инлайн кусков кода.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 окт. 2020, в 21:13
600 руб./в час
01 окт. 2020, в 19:53
60000 руб./за проект
01 окт. 2020, в 19:40
15000 руб./за проект