Function as variable in JavaScript

So, in the previous lesson, we found out that by referring to a function without parentheses, we get its source code.

In fact, everything is much more interesting. In JavaScript, unlike other languages, functions are just like the values of variables, just like numbers, strings, and arrays.

Let's look at an example. Suppose we have, for example, the function func:

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

We don't actually have the function func. We have the variable func that stores the source code of the function.

We can, for example, overwrite the variable func with something else, such as a string. In this case, the function func will no longer be a function, but a string. Look at the example:

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

func = 'string'; // overwrites the variable func
console.log(func); // shows 'string'
Задание 1

Make the function func that will return some string through return.

Задание 2

Print the result of the function func with alert to the console.

Задание 3

Print the source code of the function func with alert to the console.

Задание 4

Write the number 123 into the variable func, thus overwriting the function in this variable. Print the new value of the variable func to the console.