JavaScriptにおける即時関数呼び出し

ここでは、関数をその宣言した場所で直接呼び出すテクニックを解説します。 この構造はImmediately Invoked Function Expression (IIFE)と呼ばれます。

例を見てみましょう。以下のような関数式があるとします:

javascriptlet func = function() {
  console.log('!');
};

func(); // '!'を出力

では、この関数を変数に代入せず、その場ですぐに「呼び出し」てみましょう。 そのためには、関数の後に括弧を置きます:

javascript+function() {
  console.log('!'); // '!'を出力
}();

この場合のプラス記号は必須条件です。 なぜなら、それがないと関数はFunction Declaration(関数宣言)となり、 それらを(名前もなく)その場で呼び出すことはできないからです。 もちろん、プラスの代わりに任意のものを使用できます - 重要なのは、私たちの関数が関数式であることです。

Задание 1

コードを実行せずに、コンソールに何が出力されるかを判断してください:

javascript!function() {
  console.log('!');
}();
Задание 2

コードを実行せずに、コンソールに何が出力されるかを判断してください:

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