Skip to content

Latest commit

 

History

History
66 lines (45 loc) · 4.06 KB

passing-a-function-to-a-function-in-javascript.md

File metadata and controls

66 lines (45 loc) · 4.06 KB
title layout categories pubDate description keywords
Передача функции в функцию в JavaScript
../../layouts/ArticleEntry.astro
javascript
2024-03-14
Передача функции в функцию в JavaScript
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.