Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: currying, функция

Что такое каррирование (currying) и как его использовать в JavaScript?

Этот вопрос проверяет понимание каррирования как техники, позволяющей создавать функции, принимающие аргументы поэтапно. Это помогает повысить гибкость и повторное использование кода.

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

Каррирование — это техника, при которой функция с несколькими аргументами преобразуется в последовательность функций, каждая из которых принимает один аргумент. Это позволяет вызывать функции частично, сохраняя предшествующие аргументы для последующего использования. Каррирование полезно для создания более гибких и адаптируемых функций, которые можно использовать в различных контекстах.

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

Каррирование (currying) — это концепция, при которой функция, принимающая несколько аргументов, преобразуется в последовательность функций, каждая из которых принимает один аргумент. Это позволяет удобно вызывать функции поэтапно и сохранять состояние для последующих вызовов.

 

Пример каррирования:

function add(a) {
    return function(b) {     
       return a + b;    
    }; 
} 
const addFive = add(5); // Функция, добавляющая 5 
console.log(addFive(3)); // 8

В этом примере функция add принимает один аргумент и возвращает другую функцию, которая принимает второй аргумент. Это позволяет использовать частичное применение аргументов.

 

Каррирование полезно в различных сценариях, например:

- Создание специализированных функций: Вы можете создать функцию, которая будет использовать одни и те же начальные параметры в разных контекстах.

const multiply = (a) => (b) => a * b; 
const double = multiply(2); 
console.log(double(5)); // 10

- Упрощение функционального программирования: Каррирование делает функции более модульными и переиспользуемыми, что важно в функциональном программировании.

- Улучшение читаемости кода: Использование каррирования может сделать код более понятным, так как вы можете явно указать порядок применения аргументов.

 

Каррирование можно реализовать с помощью стандартных функций или с использованием библиотек, таких как Lodash, которые предлагают функции для каррирования и частичного применения. Это мощный инструмент, который помогает организовать и улучшить структуру вашего кода в JavaScript.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

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

#currying

#функция

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