awilum.ru
Статьи Курсы Об авторе

Передача функции в функцию в JavaScript

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

Функциональное программирование (FP) - это парадигма программирования, в которой программа рассматривается как набор функций, которые манипулируют данными. В функциональном программировании функции рассматриваются как основные строительные блоки программы, и они могут быть переданы и использованы так же, как и любые другие значения.

Давайте рассмотрим примеры использования передачи функции в функцию в JavaScript.

Передача функции в качестве аргумента

function greet(name) {
    return 'Hello, ' + name + '!';
}

function greetUser(greeterFunc) {
    let userName = "Lia";

    console.log(greeterFunc(userName));
}

greetUser(greet);

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

Использование анонимной функции в качестве аргумента

function performOperation(num1, num2, operation) {
    return operation(num1, num2);
}

let addition = function(a, b) {
    return a + b;
};

let result = performOperation(5, 3, addition);

console.log(result); // 8

В этом примере мы передаем анонимную функцию напрямую в качестве третьего аргумента функции performOperation. Функция performOperation принимает два числа и операцию в качестве аргументов и применяет эту операцию к этим числам. Мы создаем анонимную функцию для выполнения операции сложения и передаем ее в performOperation.

Использование стрелочных функций

function modifyArray(array, modifier) {
    return array.map(modifier);
}

let numbers = [1, 2, 3, 4, 5];

let squaredNumbers = modifyArray(numbers, x => x * x);

console.log(squaredNumbers); // [1, 4, 9, 16, 25]

В этом примере мы используем стрелочную функцию как аргумент для метода map. Функция modifyArray принимает массив и функцию-модификатор и применяет этот модификатор к каждому элементу массива с помощью метода map. Мы передаем стрелочную функцию, которая возводит каждое число в квадрат, в качестве аргумента modifier.

Хотите освоить JavaScript и стать востребованным разработчиком?
Присоединяйтесь к курсу JavaScript Базовый уровень прямо сейчас!
Изучите основы и продвинутые концепции, создавайте интерактивные веб-приложения и воплотите свои идеи в реальности. Не упустите шанс стать экспертом в мире разработки – начните свой путь прямо сейчас!
Обнаружили ошибку в этой статье? Хотите уточнить, обновить или добавить что-то?
Все мои статьи доступны для редактирования на GitHub. Буду благодарен за любое улучшение или исправление!