Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Функція без стану». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Функція без стану (stateless function)** - це функція, яка не зберігає і не змінює внутрішні дані між викликами: вона завжди поводиться однаково при однаковому наборі вхідних аргументів. **Ключове:** результат такої функції завжди залежить лише від вхідних даних, а не від контексту.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Коротко:** **Функція без стану (stateless function)** - це функція, яка **не зберігає і не змінює внутрішні дані між викликами**. Вона **завжди поводиться однаково** при однаковому наборі вхідних аргументів. --- ### Детальне пояснення Функція "без стану" нічого не пам'ятає про минулі виклики і не залежить від зовнішніх змін. Кожен виклик - **ізольоване обчислення**, повністю визначене вхідними параметрами. Тобто така функція: - не має **внутрішньої пам'яті** (жодних лічильників, кешів, прапорців); - не використовує **глобальні змінні**; - не змінює нічого зовні (DOM, файли, мережеві запити). --- ### Приклад функції без стану ```javascript function sum(a, b) { return a + b; } console.log(sum(2, 3)); // 5 console.log(sum(2, 3)); // 5 - завжди однаково ``` Кожен виклик повністю незалежний - результат залежить лише від вхідних даних. --- ### Приклад функції *зі* станом ```javascript let counter = 0; function increment() { counter++; return counter; } increment(); // 1 increment(); // 2 - результат залежить від минулого виклику ``` Тут функція "пам'ятає" стан (`counter`), тому вона **stateful** - "зі станом". --- ### Де важливі stateless-функції - У **функціональному програмуванні** - основа чистих обчислень. - У **React** (наприклад, "stateless components") - компоненти, які просто відображають дані без власного стану. - У **тестованому коді** - передбачувані результати без залежності від оточення. --- ### ПІДСУМОК | Ознака | Stateless функція | |---|---| | Зберігає дані між викликами | Ні | | Змінює зовнішній стан | Ні | | Залежить лише від аргументів | Так | | Завжди повертає те саме при однаковому вводі | Так | | Приклад | `Math.max(a, b)` | --- **В одній фразі:** > Функція без стану - це функція, у якої **немає "пам'яті" про минулі виклики**, > і результат завжди залежить **лише від вхідних даних**, а не від контексту.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.