ფუნქციის მოქმედება ადგილზე JavaScript-ში
ახლა განვიხილავთ ხერხს, რომელიც საშუალებას გვაძლევს გამოვიძახოთ ფუნქცია უშუალოდ მისი გამოცხადების ადგილზე. ასეთ კონსტრუქციას ეწოდება Immediately Invoked Function Expression (IIFE).
მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს ასეთი ფუნქციური გამოხატულება:
let func = function() {
console.log('!');
};
func(); // გამოიტანს '!'
მოდით ახლა არ მივანიჭოთ ჩვენი ფუნქცია ცვლადს, არამედ გამოვიძახოთ იგი დაუყოვნებლივ, "ადგილზე". ამისთვის ფუნქციის შემდეგ დავსვათ მრგვალი ფრჩხილები:
+function() {
console.log('!'); // გამოიტანს '!'
}();
პლუსის არსებობა ამ შემთხვევაში აუცილებელი პირობაა, რადგან მის გარეშე ფუნქცია გახდება Function Declaration, ხოლო მათ ადგილზე (ისიც სახელის გარეშე) გამოძახება არ შეიძლება. რა თქმა უნდა, პლუსის ნაცვლად შეიძლება იყოს ყველაფერი, - მთავარია, რომ ჩვენი ფუნქცია იყოს ფუნქციური გამოხატულება.
განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:
!function() {
console.log('!');
}();
განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:
function() {
console.log('!');
}();