function в JavaScript: функции в JS

function — это ключевое слово в JavaScript, которое используется для создания функций. Функция — это блок кода, который можно вызывать многократно, передавая параметры и получая результат. Функции помогают структурировать код, делая его более читаемым и повторно используемым.

Способы объявления функций

Обычная (именованная) функция

Функция объявляется с помощью ключевого слова function, за которым идет имя функции:

function greet(name) {
    return `Привет, ${name}!`;
}
console.log(greet('Алиса')); // Привет, Алиса!

Анонимная функция

Функция без имени, часто используется в присваиваниях или как аргумент:

const greet = function(name) {
    return `Привет, ${name}!`;
};
console.log(greet('Алиса')); // Привет, Алиса!

Стрелочная функция

Более короткий синтаксис для функций, особенно удобен для простых выражений:

const greet = (name) => `Привет, ${name}!`;
console.log(greet('Алиса')); // Привет, Алиса!

Параметры функции

Функции могут принимать параметры — данные, переданные при вызове:

function add(a, b) {
    return a + b;
}
console.log(add(3, 5)); // 8

Значения по умолчанию

Если аргумент не передан, можно задать для него значение по умолчанию:

function greet(name = 'Гость') {
    return `Привет, ${name}!`;
}
console.log(greet()); // Привет, Гость!

Возврат значения

Функция возвращает результат с помощью return:

function square(n) {
    return n * n;
}
console.log(square(4)); // 16

Если return отсутствует, функция возвращает undefined.

Функции как значения

Функции — это объекты первого класса в JavaScript, их можно передавать в переменные, параметры и возвращать из других функций:

function createMultiplier(factor) {
    return function(n) {
        return n * factor;
    };
}
const double = createMultiplier(2);
console.log(double(5)); // 10

Вложенные функции

Функции можно объявлять внутри других функций:

function outer() {
    function inner() {
        console.log('Внутренняя функция');
    }
    inner();
}
outer(); // Внутренняя функция

Функциональные выражения vs объявления

Функциональное выражение присваивает функцию переменной:

const greet = function(name) {
    return `Привет, ${name}!`;
};

Функциональное объявление сразу создает именованную функцию:

function greet(name) {
    return `Привет, ${name}!`;
}

Объявленные функции поднимаются (hoisting), а выражения — нет.

Особенности function в JavaScript

  • Функции могут быть объявлены внутри блоков кода, однако такое поведение зависит от режима строгого выполнения.
  • Функции имеют доступ к this, зависящему от контекста вызова.
  • Функции обладают собственной областью видимости (scope).

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