Skip to main content

Функція без стану

Коротко: Функція без стану (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)

В одній фразі:

Функція без стану - це функція, у якої немає "пам'яті" про минулі виклики, і результат завжди залежить лише від вхідних даних, а не від контексту.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.