Funkcia ako premenná v JavaScripte
Takže, v predchádzajúcej lekcii sme zistili, že keď sa odvoláme na funkciu bez okrúhlych zátvoriek, dostaneme jej zdrojový kód.
V skutočnosti je to oveľa zaujímavejšie. V JavaScripte, na rozdiel od iných jazykov, sú funkcie rovnakými hodnotami premenných ako čísla, reťazce a polia.
Pozrime sa na príklad. Nech máme
napríklad funkciu func:
function func() {
console.log('!');
}
V skutočnosti nemáme funkciu func.
Máme premennú func, ktorá ukladá
v sebe zdrojový kód funkcie.
Môžeme, napríklad, prepísať premennú
func niečím iným, napríklad
reťazcom. V tomto prípade funkcia func
už nebude funkciou, ale bude reťazcom.
Pozrite si príklad:
function func() {
console.log('!');
}
func(); // vypíše '!'
func = 'string'; // prepíšeme premennú func
console.log(func); // vypíše 'string'
Vytvorte funkciu func, ktorá bude
vracať pomocou return nejaký reťazec.
Vypíšte výsledok funkcie func
do konzoly.
Vypíšte zdrojový kód funkcie func
do konzoly.
Zapíšte do premennej func číslo 123,
tým prepíšete funkciu v tejto premennej.
Vypíšte novú hodnotu premennej func
do konzoly.