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