Sobes.tech
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(...) {...}