Funcția ca variabilă în JavaScript
Deci, în lecția anterioară am aflat, că accesând funcția fără paranteze rotunde, primim codul ei sursă.
De fapt, totul este mult mai interesant. În JavaScript, spre deosebire de alte limbaje, funcțiile sunt valori ale variabilelor la fel ca numerele, șirurile de caractere și array-urile.
Să ne uităm la un exemplu. Să presupunem că avem
de exemplu, funcția func:
function func() {
console.log('!');
}
De fapt, nu avem funcția func.
Avem variabila func, care stochează
codul sursă al funcției.
Putem, de exemplu, să suprascriem variabila
func cu altceva, de exemplu,
un șir de caractere. În acest caz, funcția func
nu va mai fi o funcție, ci va fi un șir de caractere.
Uitați-vă la exemplu:
function func() {
console.log('!');
}
func(); // va afișa '!'
func = 'string'; // suprascriem variabila func
console.log(func); // va afișa 'string'
Creați o funcție func, care va
returna prin return un anumit șir de caractere.
Afișați rezultatul funcției func
în consolă.
Afișați codul sursă al funcției func
în consolă.
Atribuiți variabilei func numărul 123,
suprascriind astfel funcția din această variabilă.
Afișați noua valoare a variabilei func
în consolă.