Middle
Mik a jellemzői a function expression és a function declaration kezelésének JavaScriptben?
sobes.tech MI
Válasz az MI-től
Függvénydeklaráció (függvénynyilatkozat):
- A
functionkulcsszóval van definiálva, amelyet a függvény neve követ, majd zárójelek a paraméterekhez. - Hoistingnak van kitéve: a függvény elérhető a hatókörben a tényleges deklarációja előtt.
- Használja, amikor névvel ellátott függvényt szeretne létrehozni, és a hívási sorrend nem számít.
function helloWorld() {
// Üzenetet ír ki a konzolra
console.log("Hello, World!");
}
Függvénykifejezés (függvénykifejezés):
- Egy kifejezés részeként van definiálva, általában egy változóhoz rendelve.
- Nem esik a hoisting alá: a függvény csak akkor érhető el, miután a megfelelő kódsor végrehajtódott.
- Lehet névvel vagy név nélkül (névtelen).
- Használja, amikor függvényt kell argumentumként átadni, azonnal végrehajtandó függvényt (IIFE) létrehozni, vagy függvényt definiálni feltételben.
const greet = function(name) {
// Válaszol egy üdvözlettel
return `Szia, ${name}!`;
};
Összehasonlítás:
| Jellemző | Függvénydeklaráció | Függvénykifejezés |
|---|---|---|
| Hoisting | Igen | Nem |
| Elérhetőség | A deklaráció előtt a kódban | A deklaráció után a kódban |
| Név | Kötelező | Lehet névtelen |
| Szintaxis | function név(...) {...} |
const változó = function(...) {...} |