Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: currying, prototype, number

Как реализовать функцию сложения в формате add(1)(2)? Как добавить в прототип числа?

Вопрос проверяет знание каррирования и работы с прототипами.

Короткий ответ

  1. Каррирование:

    function add(a) {
      return function(b) { return a + b; };
    }
  2. Добавление метода в прототип числа:

    Number.prototype.add = function(b) { return this + b; };

Длинный ответ

1. Каррирование:
Функция возвращает функцию, пока не получит все аргументы.

function add(a) {
  return function(b) {
    return a + b;
  };
}
console.log(add(1)(2)); // 3

2. Расширение прототипа:

Number.prototype.add = function(b) {
  return this + b;
};
console.log((5).add(3)); // 8

Вывод:
Каррирование полезно для частичного применения функций. Расширять прототипы следует осторожно.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#currying

#prototype

#number

Подпишись на React Developer в телеграм