Функция като променлива в JavaScript

И така, в предишния урок разбрахме, че когато се обърнем към функция без кръгли скоби, получаваме нейния изходен код.

Всъщност всичко е много по-интересно. В JavaScript, за разлика от други езици, функциите са същите стойности на променливи, като числа, низове и масиви.

Нека да разгледаме един пример. Нека имаме например функция func:

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

Всъщност нямаме функция func. Имаме променлива func, която съхранява в себе си изходния код на функцията.

Можем, например, да презапишем променливата func с нещо друго, например, низ. В този случай функцията func вече няма да бъде функция, а ще бъде низ. Вижте примера:

javascriptfunction func() {
  console.log('!');
}
func(); // ще изведе '!'

func = 'string'; // презаписваме променливата func
console.log(func); // ще изведе 'string'
Задание 1

Направете функция func, която ще връща чрез return някакъв низ.

Задание 2

Изведете резултата от работата на функцията func в конзолата.

Задание 3

Изведете изходния код на функцията func в конзолата.

Задание 4

Запишете в променливата func числото 123, като по този начин презапишете функцията от тази променлива. Изведете новата стойност на променливата func в конзолата.