JavaScript-da funksiýanyň tipini nädip barlamaly

Aşakdaky meselelerde siz berlen funksiýanyň Function Declaration ýa-da Function Expression ýaly kesgitlenendigini anyklamaly bolarsyňyz.

Ýönekeý ýagdaýlarda muny görnükçe ýöndemek kyn däl. Ýöne dogry ýerine ýetirilendigini nädip barlamaly? Function Declaration we Function Expression arasyndaky tapawudy ulanyň: birinjiler, kesgitlenen ýerinden ýokarda çagyrylyp biler, ikinjiler bolsa ýok.

Bizde şeýle bir funksiýa bar diýeliň:

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

Bu funksiýa onuň kesgitlenen ýerinden öň çagyralyň:

javascripttest(); // konsolde sälik çykarýar, şonuň üçin Function Expression

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

Başga bir mysal:

javascriptfunc(); // '!' çykarýar, şonuň üçin Function Declaration

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

Funksiýamyzyň öňüne '+' goşalyň:

javascriptfunc(); // konsolde sälik çykarýar, şonuň üçin Function Expression

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

Ýokardaky funksiýa Function Expression bolany üçin we hiç bir üýtgeýjä bellinmedigi üçin, onuň ady bilen (func) elýeterli bolmaz we hiç nähili çagyryp bolmaz.

Задание 1

Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:

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

Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:

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

Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:

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

Berlen funksiýanyň Function Declaration ýa-da Function Expression dugdundygyny anyklaň:

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