Cum să verifici tipul unei funcții în JavaScript
În sarcinile de mai jos va trebui să determinați dacă funcția este definită ca Function Declaration sau Function Expression.
În cazuri simple, acest lucru nu este dificil de făcut vizual. Dar cum să verifici că ați făcut corect? Utilizați diferența dintre Function Declaration și Function Expression: primele pot fi apelate înainte de definiția lor, iar cele din urmă - nu.
Să presupunem că avem o funcție ca aceasta:
let test = function() {
console.log('!');
}
Să accesăm această funcție înainte de definirea ei:
test(); // va afișa o eroare în consolă, deci Function Expression
let test = function() {
console.log('!');
}
Iată un alt exemplu:
func(); // va afișa '!', deci Function Declaration
function func() {
console.log('!');
}
Să punem un semn plus în fața funcției noastre:
func(); // va afișa o eroare în consolă, deci Function Expression
+function func() {
console.log('!');
}
Deoarece funcția de mai sus este o Function Expression și nu este atribuită nicio variabile, atunci nu poate fi apelată în niciun fel, deoarece după numele func ea va fi indisponibilă.
Determinați dacă funcția prezentată este Function Declaration sau Function Expression:
let test = function func() {
console.log('!');
}
Determinați dacă funcția prezentată este Function Declaration sau Function Expression:
console.log(
function func() {
console.log('!');
}
);
Determinați dacă funcția prezentată este Function Declaration sau Function Expression:
+function func() {
console.log('!');
}
Determinați dacă funcția prezentată este Function Declaration sau Function Expression:
function func() {
console.log('!');
}