Kaip patikrinti funkcijos tipą JavaScript

Toliau pateiktose užduotyse jums reikės nustatyti ar funkcija yra apibrėžta kaip Function Declaration ar Function Expression.

Paprastais atvejais tai nėra sunku padaryti vizualiai. Bet kaip patikrinti, ar jūs tai padarėte teisingai? Naudokitės skirtumu tarp Function Declaration ar Function Expression: pirmosios gali būti iškviestos aukščiau savo apibrėžimo, o antrosios - negali.

Tarkime, mes turime tokią funkciją:

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

Kreipkimės į šią funkciją prieš jos apibrėžimą:

javascripttest(); // išves klaidą konsolėje, vadinasi Function Expression

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

Štai dar vienas pavyzdys:

javascriptfunc(); // išves '!', vadinasi Function Declaration

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

Uždėkime pliuso ženklą prieš mūsų funkciją:

javascriptfunc(); // išves klaidą konsolėje, vadinasi Function Expression

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

Kadangi aukščiau pateikta funkcija - tai Function Expression ir ji nepriskirta jokiam kintamajam, tai jos niekaip negalima iškvieti, nes vardu func ji bus nepasiekiama.

Задание 1

Nustatykite, ar pateikta funkcija yra Function Declaration ar Function Expression:

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

Nustatykite, ar pateikta funkcija yra Function Declaration ar Function Expression:

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

Nustatykite, ar pateikta funkcija yra Function Declaration ar Function Expression:

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

Nustatykite, ar pateikta funkcija yra Function Declaration ar Function Expression:

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