Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Анонімні функції». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Анонімна функція** - це функція, яка **не має імені після слова** `function` і зазвичай **присвоюється змінній** або передається як аргумент. **Ключове:** анонімні функції частіше застосовуються у функціональних виразах, колбеках, стрілкових функціях та обробниках подій.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення## Приклад анонімної функції ```javascript const sum = function(a, b) { return a + b; }; ``` Тут функція **анонімна**, тому що у неї **немає імені після слова** `function`. Вона просто **присвоєна змінній** `sum`. --- ## Як виглядає іменована функція для порівняння ```javascript function sum(a, b) { return a + b; } ``` Тут у функції є ім'я - `sum`. Його можна використовувати всередині функції (наприклад, для рекурсії) або в стеку помилок. --- ## Де найчастіше використовуються анонімні функції Анонімні функції частіше застосовуються: 1. **У функціональних виразах** ```javascript const multiply = function(a, b) { return a * b; }; ``` 2. **У колбеках** ```javascript setTimeout(function() { console.log("Минула 1 секунда"); }, 1000); ``` 3. **У стрілкових функціях** (це теж різновид анонімних) ```javascript const greet = () => console.log("Привіт!"); ``` 4. **В обробниках подій** ```javascript button.addEventListener('click', function() { console.log("Натиснули кнопку"); }); ``` --- ## Переваги Короткий і лаконічний синтаксис. Чудово підходять для одноразових функцій, особливо як аргументи (`callback`). Використовуються в стрілкових функціях і сучасних методах (`map`, `forEach`, `filter` тощо) --- ## Недоліки Складніше відлагоджувати - у стеку помилок не видно імені функції: ```javascript TypeError at <anonymous>:3:10 ``` Не можна викликати саму себе рекурсивно (без імені). Можуть погіршити читабельність, якщо використовуються занадто часто і вкладено. --- ## Приклад: іменована vs анонімна в колбеку ```javascript // Анонімна функція setTimeout(function() { console.log("Hi"); }, 1000); // Іменована функція (зручніше для відлагодження і повторного використання) function sayHi() { console.log("Hi"); } setTimeout(sayHi, 1000); ``` --- ## Коротко запам'ятати | Тип | Приклад | Є ім'я? | Можна викликати напряму? | |---|---|---|---| | **Іменована** | `function foo() {}` | Так | Так | | **Анонімна** | `function() {}` | Ні | Тільки через змінну або колбек | | **Стрілкова** | `() => {}` | Ні (анонімна по суті) | Через змінну |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.