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.
Wyzwanie
ŁatwyMusisz 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 tutajWszystkie lekcje w sekcji Deklaracje funkcji w JavaScript
1Wprowadzenie do kursu
Czego się nauczysz?4Wyzwania kamieni milowych
Sprawdzanie stanu liczbyPowitania z użyciem funkcji strzałkowejSystem oceniania2Wprowadzenie do funkcji
Czym jest funkcja?Funkcje czysteĆwiczenie z funkcji nr 1Ćwiczenie z funkcji nr 23Sposoby deklarowania funkcji
Podstawowa funkcjaFunkcja zagnieżdżonaZwracanie funkcjiWyrażenia funkcyjneFunkcja strzałkowaKonstruktor funkcjiPoćwicz samodzielnie: Kompilator JavaScript online