Sobes.tech
Junior

Ի՞նչ է ֆունկցիոնալ արտահայտությունը և ինչու է այն անհրաժեշտ։

sobes.tech AI

Պատասխան AI-ից

Ֆունկցիոնալ արտահայտությունը՝ դա ֆունկցիայի սահմանում է այլ արտահայտության ներսում։ Այն չի հայտարարվում որպես առանձին օպերատոր function անուն(...) {}՝ այլ այն վերագրվում է փոփոխականի, օբյեկտի հատկությանը կամ օգտագործվում որպես այլ ֆունկցիայի արգումենտ։

Ի՞նչ է դրա անհրաժեշտությունը՝

  • Անունազուրկ ֆունկցիաների ստեղծում: Հնարավոր է անվանազուրկ ֆունկցիա սահմանել, ինչը օգտակար է callback-ների կամ մեկ օգտագործման ֆունկցիաների համար։
  • Կապեր (Closures): Ֆունկցիոնալ արտահայտությունները հաճախ օգտագործվում են կապեր ստեղծելու համար, որոնք թույլ են տալիս ֆունկցիային "հիշել" արտաքին միջավայրի փոփոխականները, նույնիսկ արտաքին ֆունկցիայի ավարտից հետո։
  • Անցանկալի հրավերներ (IIFE): ապահովում են կոդի մեկուսացում և կանխում գլոբալ տարածքի աղտոտումը։
  • Դինամիկ ֆունկցիաների սահմանում: Ֆունկցիաները կարող են ստեղծվել և վերագրվել ծրագրի կատարման պայմանների վրա հիմնված։

Նմուշ՝ անվանազուրկ ֆունկցիոնալ արտահայտության:

// Անվանազուրկ ֆունկցիայի վերագրում փոփոխականին
const greet = function(name) {
  console.log(`Բարև, ${name}!`);
};

greet("Աշխարհ");

Նմուշ՝ IIFE:

(function() {
  // Այս ֆունկցիայի ներսում գտնվող կոդը անմիջապես կատարվում է
  // և նրա ներսում գտնվող փոփոխականները դուրս չեն հասանելի
  let privateVariable = "գաղտնիք";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Խախտում՝ privateVariable չի սահմանված