Sobes.tech
Junior

Kas yra funkcijos išraiška ir kam ji reikalinga?

sobes.tech AI

Atsakymas iš AI

Funkcinė išraiška yra funkcijos apibrėžimas kitoje išraiškoje. Ji nėra deklaruojama kaip atskiras operatorius function vardas(...) {}, bet priskiriama kintamajam, objekto savybei arba naudojama kaip kitos funkcijos argumentas.

Kam tai reikalinga?

  • Anoniminių funkcijų kūrimas: leidžia apibrėžti funkciją be vardo, kas naudinga kaip atgalinis kvietimas arba vienkartinė funkcija.
  • Uždarymai (Closures): Funkcinės išraiškos dažnai naudojamos kurti uždarymus, leidžiančius funkcijai "prisiminti" išorinės aplinkos kintamuosius, net ir po išorinės funkcijos pabaigos.
  • IIFE (Iš karto iškviečiamos funkcijų išraiškos): užtikrina kodo izoliaciją ir apsaugo nuo globalios erdvės užteršimo.
  • Dinaminis funkcijų apibrėžimas: Funkcijos gali būti sukurtos ir priskirtos priklausomai nuo programos vykdymo sąlygų.

Anoniminės funkcijos pavyzdys:

// Priskyrimas anoniminei funkcijai kintamajam
const greet = function(name) {
  console.log(`Labas, ${name}!`);
};

greet("Pasaulis");

IIFE pavyzdys:

(function() {
  // Šios funkcijos viduje kodas iš karto vykdomas
  // ir jos viduje esantys kintamieji nėra pasiekiami iš išorės
  let privateVariable = "paslaptis";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Klaida: privateVariable nėra apibrėžtas