Sobes.tech
Junior

Mis on funktsionaalne väljendus ja milleks see vajalik on?

sobes.tech AI

Vastus AI-lt

Funktsionaalne väljend on funktsiooni määratlus teises väljendis. See ei ole eraldi operaatorina function nimi(...) {} deklareeritud, vaid omistatakse muutujale, objekti omadusele või kasutatakse teise funktsiooni argumentina.

Milleks see on?

  • Anonüümsete funktsioonide loomine: võimaldab määratleda funktsiooni ilma nime, mis on kasulik tagasikutsumisteks või ühekordseteks funktsioonideks.
  • Katteseadmed (Closures): Funktsionaalsed väljendid kasutatakse sageli katteseadmete loomiseks, võimaldades funktsioonil "mälestada" välise keskkonna muutujaid, isegi pärast välise funktsiooni lõppemist.
  • IIFE (Kohe kutsutud funktsiooni väljendid): tagavad koodi isolatsiooni ja takistavad globaalset ruumi saastumist.
  • Dünaamiline funktsioonide määratlus: Funktsioone saab luua ja omistada vastavalt programmi täitmise tingimustele.

Näide anonüümse funktsionaalse väljendi kohta:

// Anonüümse funktsiooni omistamine muutujale
const greet = function(name) {
  console.log(`Tere, ${name}!`);
};

greet("Maailm");

IIFE näide:

(function() {
  // Selle funktsiooni sees olev kood täidetakse kohe
  // ja selle sees olevad muutujad ei ole väljast kättesaadavad
  let privateVariable = "saladus";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Viga: privateVariable ei ole defineeritud