Middle
Koje su karakteristike rada sa function expression i function declaration u JavaScriptu?
sobes.tech АИ
Одговор од АИ
Deklaracija funkcije (deklaracija funkcije):
- Definiše se pomoću ključne reči
function, nakon čega sledi ime funkcije i zatim zagrada za parametre. - Podložna je hoistingu: funkcija je dostupna u opsegu pre njenog stvarnog deklarisanja u kodu.
- Koristi se kada želite da kreirate imenovanu funkciju i redosled poziva nije važan.
function helloWorld() {
// Prikazuje poruku u konzoli
console.log("Hello, World!");
}
Izraz funkcije (funkcijski izraz):
- Definiše se kao deo izraza, najčešće dodeljen promenljivoj.
- Nije podložan hoistingu: funkcija je dostupna tek nakon izvršenja odgovarajuće linije koda.
- Može biti imenovana ili anonimna.
- Koristi se kada je potrebno proslediti funkciju kao argument, napraviti odmah izvršivu funkciju (IIFE) ili definisati funkciju u uslovu.
const greet = function(name) {
// Vraća pozdrav
return `Zdravo, ${name}!`;
};
Poređenje:
| Osobina | Deklaracija funkcije | Izraz funkcije |
|---|---|---|
| Hoisting | Da | Ne |
| Dostupnost | Pre deklaracije u kodu | Posle deklaracije u kodu |
| Ime | Obavezno | Može biti anonimno |
| Sintaksa | function ime(...) {...} |
const promenljiva = function(...) {...} |