Вопрос проверяет знание каррирования и работы с прототипами.
Каррирование:
function add(a) {
return function(b) { return a + b; };
}Добавление метода в прототип числа:
Number.prototype.add = function(b) { return this + b; };1. Каррирование:
Функция возвращает функцию, пока не получит все аргументы.
function add(a) {
return function(b) {
return a + b;
};
}
console.log(add(1)(2)); // 32. Расширение прототипа:
Number.prototype.add = function(b) {
return this + b;
};
console.log((5).add(3)); // 8Вывод:
Каррирование полезно для частичного применения функций. Расширять прототипы следует осторожно.