JavaScript-də funksiya növünü necə yoxlamaq olar

Aşağıdakı tapşırıqlarda siz verilmiş funksiyanın Function Declaration və ya Function Expression olduğunu müəyyən etməli olacaqsınız.

Sadə hallarda bunu vizual olaraq etmək çətin deyil. Amma bunu düzgün etdiyinizi necə yoxlamaq olar? Function Declaration və Function Expression arasındakı fərqdən istifadə edin: birincilər öz tərifindən əvvəl çağırıla bilər, ikincilər isə - bilməz.

Tutaq ki, bizim belə bir funksiyamız var:

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

Bu funksiyaya onun tərifindən əvvəl müraciət edək:

javascripttest(); // konsolda xəta verəcək, deməli Function Expression

let test = function() {
  console.log('!');
}

Budur başqa bir nümunə:

javascriptfunc(); // '!' çap edəcək, deməli Function Declaration

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

Funksiyamızın qarşısına artı işarəsi qoyaq:

javascriptfunc(); // konsolda xəta verəcək, deməli Function Expression

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

Yuxarıdakı funksiya Function Expression olduğundan və heç bir dəyişənə təyin edilmədiyindən, onu heç cür çağırmaq olmaz, çünki func adı ilə ona müraciət etmək mümkün olmayacaq.

Задание 1

Təqdim olunan funksiyanın Function Declaration yoxsa Function Expression olduğunu müəyyən edin:

javascriptlet test = function func() {
  console.log('!');
}
Задание 2

Təqdim olunan funksiyanın Function Declaration yoxsa Function Expression olduğunu müəyyən edin:

javascriptconsole.log(
  function func() {
    console.log('!');
  }
);
Задание 3

Təqdim olunan funksiyanın Function Declaration yoxsa Function Expression olduğunu müəyyən edin:

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

Təqdim olunan funksiyanın Function Declaration yoxsa Function Expression olduğunu müəyyən edin:

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