Functie als variabele in JavaScript
In de vorige les hebben we vastgesteld, dat als we naar een functie verwijzen zonder ronde haakjes, we haar broncode krijgen.
Eigenlijk is het veel interessanter. In JavaScript, in tegenstelling tot andere talen, zijn functies dezelfde waarden van variabelen als getallen, strings en arrays.
Laten we een voorbeeld bekijken. Stel we hebben
een functie func:
function func() {
console.log('!');
}
Eigenlijk hebben we geen functie func.
We hebben een variabele func, die
de broncode van de functie bevat.
We kunnen bijvoorbeeld de variabele
func overschrijven met iets anders, bijvoorbeeld,
een string. In dit geval zal func
niet langer een functie zijn, maar een string.
Zie het voorbeeld:
function func() {
console.log('!');
}
func(); // geeft '!' weer
func = 'string'; // overschrijf de variabele func
console.log(func); // geeft 'string' weer
Maak een functie func, die
via return een string teruggeeft.
Geef het resultaat van de functie func weer
in de console.
Geef de broncode van de functie func weer
in de console.
Sla in de variabele func het getal 123 op,
en overschrijf daarmee de functie in deze variabele.
Geef de nieuwe waarde van de variabele func weer
in de console.