Перейти к содержимому

JavaScript: Функции и объекты

Введение в функции JavaScript

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

Понимание функций в JavaScript

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

Объявление функции

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

  • Имя функции.
  • Список параметров функции, заключённых в скобки и разделённых запятыми.
  • Операторы JavaScript, определяющие функцию, заключённые в фигурные скобки, {}.

Output appears here after Run.

Выражение функции

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


Output appears here after Run.

Немедленно вызываемые выражения функций (IIFE)

IIFE (немедленно вызываемое выражение функции) — это функция JavaScript, которая выполняется сразу после своего определения.


Output appears here after Run.

Стрелочные функции: современный подход

Введённые в ES6, стрелочные функции предлагают лаконичный синтаксис для записи выражений функций. Они особенно полезны для коротких функций, возвращающих одно выражение. Обратите внимание, что, в отличие от обычных функций, стрелочные функции не имеют собственного привязывания this и наследуют его из окружающего контекста.


Output appears here after Run.

Понимание объектов функций и NFE

В JavaScript функции являются объектами первого класса, которые можно вызывать. Они имеют встроенные методы и могут храниться как значения. Именованное выражение функции (NFE) — это выражение функции, которое включает внутренний идентификатор.

Именованные выражения функций (NFE)

NFE позволяет функции ссылаться на саму себя внутри, что полезно для рекурсии (см. JavaScript: Рекурсия и стек), обработчиков событий и колбэков. Вот пример:


Output appears here after Run.

Практическое применение функций JavaScript

Функции JavaScript универсальны. Ниже приведены несколько практических примеров, демонстрирующих их возможности.

Обработка данных

Функции могут преобразовывать массивы или объекты, фильтровать данные и многое другое. Вот функция, которая фильтрует массив на уникальные значения, используя Set для оптимальной производительности.


Output appears here after Run.

Обработка событий

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


html
<button onclick="alert('Button clicked!')">Click Me</button>

Result

Асинхронное программирование

Функции JavaScript, особенно стрелочные, широко используются в асинхронном программировании, например, с промисами и async/await.


Output appears here after Run.

Заключение

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

Практика

Что такое NFE (именованное выражение функции) в JavaScript?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.