Funktion som variabel i JavaScript

Så, i föregående lektion fick vi reda på, att genom att referera till en funktion utan parenteser, får vi dess källkod.

Egentligen är det mycket mer intressant. I JavaScript, till skillnad från andra språk, är funktioner lika variabelvärden som siffror, strängar och arrayer.

Låt oss titta på ett exempel. Låt oss säga att vi har, till exempel, funktionen func:

javascriptfunction func() {
  console.log('!');
}

Egentligen har vi ingen funktion func. Vi har en variabel func som lagrar funktionens källkod i sig.

Vi kan till exempel skriva över variabeln func med något annat, till exempel en sträng. I det här fallet kommer funktionen func inte längre att vara en funktion, utan en sträng. Se exemplet:

javascriptfunction func() {
  console.log('!');
}
func(); // skriver ut '!'

func = 'string'; // skriver över variabeln func
console.log(func); // skriver ut 'string'
Задание 1

Skapa en funktion func som returnerar via return någon sträng.

Задание 2

Skriv ut resultatet av funktionen func i konsolen.

Задание 3

Skriv ut källkoden för funktionen func i konsolen.

Задание 4

Sätt variabeln func till talet 123, och skriv därmed över funktionen från denna variabel. Skriv ut variabelns func nya värde i konsolen.