JavaScriptにおける関数の左側の式

次のコードを考えてみましょう:

javascript+function func() {
  console.log('!');
}

すでにご存知のように、この関数は名前が付けられているにもかかわらず (名前の有無は全く基準ではないことはすでに確認しました)、 関数式(Function Expression)です。 このプラス記号を取り除くと、関数宣言(Function Declaration)になります:

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

関数の前の行にプラス記号+を配置してみましょう。 再び関数式(Function Expression)になります:

javascript+
function func() {
  console.log('!');
}

今度はプラス記号の後に数字1とセミコロンを置くと、 この関数は関数宣言(Function Declaration)になります:

javascript+1;
function func() {
  console.log('!');
}

なぜこうなるのか:最初の行はセミコロンで終了する 一つの完全な命令だからです。したがって、この命令は 私たちの関数に全く影響を与えません。

実際にはセミコロンは削除できます。 結局のところ、JavaScriptではセミコロンは必須ではないからです。 関数は依然として関数宣言(Function Declaration)のままです:

javascript+1
function func() {
  console.log('!');
}

しかし、1の後にもう一つプラス記号を付けると、 関数は関数式(Function Expression)になります:

javascript+1+
function func() {
  console.log('!');
}

なぜこうなるのか:最初の行は不完全な式だからです。 プラス記号があり、その後には何もありません。 したがって、JavaScriptインタープリターは、 このプラス記号が次の行、つまり私たちの関数に 関係していると判断します。

最初の行に完全な式がある場合、 JavaScriptは自動的にセミコロンを挿入し、 その式は私たちの関数に全く影響を与えません。

Задание 1

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

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

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

javascript-1;
function func() {
  console.log('!');
}
Задание 3

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

javascript-1
function func() {
  console.log('!');
}
Задание 4

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

javascript1
function func() {
  console.log('!');
}
Задание 5

提示されている関数が関数宣言(Function Declaration)か 関数式(Function Expression)かを判断してください:

javascript-1-
function func() {
  console.log('!');
}