Funkce jako proměnná v JavaScriptu
Takže, v předchozí lekci jsme zjistili, že když přistoupíme k funkci bez kulatých závorek, dostaneme její zdrojový kód.
Ve skutečnosti je to mnohem zajímavější. V JavaScriptu, na rozdíl od jiných jazyků, jsou funkce stejnými hodnotami proměnných jako čísla, řetězce a pole.
Podívejme se na příklad. Předpokládejme, že máme
například funkci func:
function func() {
console.log('!');
}
Ve skutečnosti nemáme funkci func.
Máme proměnnou func, která ukládá
její zdrojový kód.
Můžeme například přepsat proměnnou
func něčím jiným, například
řetězcem. V tomto případě funkce func
už nebude funkcí, ale bude řetězcem.
Podívejte se na příklad:
function func() {
console.log('!');
}
func(); // vypíše '!'
func = 'string'; // přepíšeme proměnnou func
console.log(func); // vypíše 'string'
Vytvořte funkci func, která bude
vracet pomocí return nějaký řetězec.
Vypište výsledek funkce func
do konzole.
Vypište zdrojový kód funkce func
do konzole.
Zapište do proměnné func číslo 123,
tím přepíšete funkci v této proměnné.
Vypište novou hodnotu proměnné func
do konzole.