JavaScript:
Organizacja kodu w funkcje
Jak to zrobić:
// Zdefiniowanie funkcji do obliczenia powierzchni prostokąta
function calculateArea(width, height) {
return width * height;
}
// Wywołanie funkcji i wydrukowanie wyniku
let area = calculateArea(5, 3);
console.log(area); // Wyjście: 15
// Grupowanie powiązanej funkcjonalności przy użyciu funkcji
function greet(name) {
console.log(`Cześć, ${name}!`);
}
function farewell(name) {
console.log(`Do widzenia, ${name}!`);
}
greet('Alice'); // Wyjście: Cześć, Alice!
farewell('Bob'); // Wyjście: Do widzenia, Bob!
Dogłębna analiza
Historycznie, języki programowania imperatywne takie jak wczesne wersje BASIC czy Assembly nie posiadały abstrakcji, jaką zapewniają funkcje. Z czasem, pojęcie modularnego kodu w językach takich jak C wprowadziło ideę, że dzielenie kodu na jednostki (funkcje lub procedury) prowadzi do lepszej organizacji i jaśniejszej logiki.
W JavaScript, oprócz zwykłych funkcji, mamy także funkcje strzałkowe od ES6 (2015), które oferują bardziej zwięzłą składnię i są odpowiednie dla funkcji niemetodowych.
Alternatywy i ulepszenia dotyczące organizacji kodu w JavaScript obejmują podejścia zorientowane obiektowo przy użyciu klas, albo paradygmaty programowania funkcjonalnego, które traktują funkcje jak obywatele pierwszej klasy.
Pod kątem implementacji, funkcje JavaScript wspierają domknięcia (closures), zapewniając sposób na zachowanie dostępu do zakresu funkcji po wykonaniu, co jest potężne dla enkapsulacji i tworzenia funkcji fabrykujących, wśród innych wzorców.
Zobacz również
- MDN Web Docs o funkcjach: https://developer.mozilla.org/pl/docs/Web/JavaScript/Guide/Functions
- Wzorce projektowe JavaScript: https://addyosmani.com/resources/essentialjsdesignpatterns/book/
- Czysty kod JavaScript: https://github.com/ryanmcdermott/clean-code-javascript