@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

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

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

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

Войти через центр авторизации
Похожие вопросы
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект