Middle
Jakie są cechy pracy z wyrażeniami funkcji i deklaracjami funkcji w JavaScript?
sobes.tech AI
Odpowiedź od AI
Deklaracja funkcji (deklaracja funkcji):
- Definiowana za pomocą słowa kluczowego
function, po którym następuje nazwa funkcji, a następnie nawiasy dla parametrów. - Podlega hoistingowi: funkcja jest dostępna w zakresie przed jej faktycznym zadeklarowaniem w kodzie.
- Używaj, gdy chcesz utworzyć nazwaną funkcję i kolejność wywołań nie ma znaczenia.
function helloWorld() {
// Wyświetla wiadomość w konsoli
console.log("Hello, World!");
}
Wyrażenie funkcji (wyrażenie funkcyjne):
- Definiowane jako część wyrażenia, najczęściej przypisywane do zmiennej.
- Nie podlega hoistingowi: funkcja jest dostępna dopiero po wykonaniu odpowiedniej linii kodu.
- Może być nazwane lub anonimowe.
- Używaj, gdy musisz przekazać funkcję jako argument, utworzyć funkcję natychmiastową (IIFE) lub zdefiniować funkcję w warunku.
const greet = function(name) {
// Zwraca powitanie
return `Cześć, ${name}!`;
};
Porównanie:
| Cecha | Deklaracja funkcji | Wyrażenie funkcji |
|---|---|---|
| Hoisting | Tak | Nie |
| Dostępność | Przed deklaracją w kodzie | Po deklaracji w kodzie |
| Nazwa | Obowiązkowa | Może być anonimowa |
| Składnia | function nazwa(...) {...} |
const zmienna = function(...) {...} |