Menu
Coddy logo textTech

Funkcje czyste

Lekcja 3 z 14 w kursie Deklaracje funkcji w JavaScript w Coddy.

W JavaScript funkcja czysta to taka, która przy tym samym wejściu zawsze zwraca to samo wyjście i nie wywołuje żadnych obserwowalnych efektów ubocznych. Funkcje czyste nie zmieniają żadnego stanu zewnętrznego ani nie korzystają ze zmiennych zewnętrznych.

Funkcje czyste są szczególnie przydatne w:
Przekształcaniu danych: idealnie nadają się do mapowania, filtrowania i redukowania danych.
Zarządzaniu stanem: zapewniają niezmienność stanu, zwłaszcza we frameworkach takich jak Redux.

Składnia funkcji czystej:

function add(a, b) {
	return a + b;
}

Podana powyżej funkcja „add” jest czysta, ponieważ zawsze zwraca ten sam wynik dla tych samych argumentów i nie wpływa na żaden stan zewnętrzny.

Składnia funkcji nieczystej:

let counter = 0;
function increment() {
	return counter++;
}

Funkcja „increment” jest nieczysta, ponieważ modyfikuje zmienne lub stany zewnętrzne, powodując efekty uboczne.

Refaktoryzacja funkcji nieczystej do czystej:

let total = 0;

// Funkcja nieczysta 
function addToTotal(amount) {
    total += amount;
    return total;
}

// Refaktoryzacja funkcji nieczystej w funkcję czystą
// Funkcja czysta (tworzy nową wartość total)
function addToTotal(total, amount) {
	return total + amount;
}

W powyższym przykładzie refaktoryzacja funkcji nieczystej do czystej gwarantuje, że zwraca ona nowy obiekt bez modyfikowania oryginalnego.

challenge icon

Wyzwanie

Łatwy

Musisz napisać kod JavaScript, aby przekształcić istniejącą funkcję nieczystą w funkcję czystą. Nazwij tę funkcję nextBirthday.

Funkcja powinna przyjmować jeden argument: wiek.

Spróbuj swoich sił

let userAge = 24;

// Funkcja nieczysta 
function celebrateBirthday() {
    userAge += 1;
    return userAge; 
} 
// Nie zmieniaj powyższego kodu
// Napisz kod tutaj

Wszystkie lekcje w sekcji Deklaracje funkcji w JavaScript

Poćwicz samodzielnie: Kompilator JavaScript online