ფუნქციის მოქმედება ადგილზე JavaScript-ში

ახლა განვიხილავთ ხერხს, რომელიც საშუალებას გვაძლევს გამოვიძახოთ ფუნქცია უშუალოდ მისი გამოცხადების ადგილზე. ასეთ კონსტრუქციას ეწოდება Immediately Invoked Function Expression (IIFE).

მოდით შევხედოთ მაგალითს. დავუშვათ, გვაქვს ასეთი ფუნქციური გამოხატულება:

javascriptlet func = function() {
  console.log('!');
};

func(); // გამოიტანს '!'

მოდით ახლა არ მივანიჭოთ ჩვენი ფუნქცია ცვლადს, არამედ გამოვიძახოთ იგი დაუყოვნებლივ, "ადგილზე". ამისთვის ფუნქციის შემდეგ დავსვათ მრგვალი ფრჩხილები:

javascript+function() {
  console.log('!'); // გამოიტანს '!'
}();

პლუსის არსებობა ამ შემთხვევაში აუცილებელი პირობაა, რადგან მის გარეშე ფუნქცია გახდება Function Declaration, ხოლო მათ ადგილზე (ისიც სახელის გარეშე) გამოძახება არ შეიძლება. რა თქმა უნდა, პლუსის ნაცვლად შეიძლება იყოს ყველაფერი, - მთავარია, რომ ჩვენი ფუნქცია იყოს ფუნქციური გამოხატულება.

Задание 1

განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:

javascript!function() {
  console.log('!');
}();
Задание 2

განსაზღვრეთ, კოდის გაშვების გარეშე, რა გამოიტანს კონსოლში:

javascriptfunction() {
  console.log('!');
}();