JavaScriptにおける変数としての関数

さて、前のレッスンでは、括弧なしで関数を参照すると、 そのソースコードが取得されることを確認しました。

実際には、もっと興味深いことがあります。JavaScriptでは、 他の言語とは異なり、関数は数値、文字列、配列と同様に、 変数の値として扱われます。

例を見てみましょう。例えば、関数 func があるとします:

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

実際には、関数 func があるわけではありません。 関数のソースコードを格納している変数 func があるのです。

例えば、変数 func を他のもの、例えば文字列で 上書きすることもできます。その場合、 func は もはや関数ではなく、文字列になります。 以下の例を参照してください:

javascriptfunction func() {
  console.log('!');
}
func(); // '!' を出力

func = 'string'; // 変数 func を上書き
console.log(func); // 'string' を出力
Задание 1

return を通じて何らかの文字列を返す関数 func を作成してください。

Задание 2

関数 func の実行結果をコンソールに 出力してください。

Задание 3

関数 func のソースコードをコンソールに 出力してください。

Задание 4

変数 func に数値 123 を代入し、 それによってこの変数内の関数を上書きしてください。 変数 func の新しい値をコンソールに 出力してください。