この質問は、関数宣言のVS関数式を考慮して生まれました。「関数宣言」を「関数宣言」として定義することはできますか?
は、我々は明らかに関数宣言は、関数式は、このフォームを持つことができますしながら、
function foo() {
var a = 3;
console.log(a);
}
が
(function foo() {
var a = 3;
console.log(a);
})()
が見て(すぐに呼び出される関数式のように知られているもののように表示される)このフォームを持っていることを知っています直ちに呼び出される関数式は、関数宣言で使用される最初の関数がparethesisで囲まれていることに気づくだけです。
ここでポイントは次のとおりです。グループ化演算子(最もよく知られている「parethesis」())には式しか含めることができません。これが真実であれば、関数宣言もfunctionステートメントであるとは言えません(なぜなら、括弧内にステートメントをラップしていると言えるからです)。
だから、助けてもらえますか、少し混乱します。 関数宣言も関数宣言ですか? 「はい」の場合は、かっこで囲まれた関数が文または何ですか?
私は、関数宣言と関数式の違いについて質問していないことを明確にする必要があります。私がそれらに言及してその違いが私の質問を記述するだけです: "関数宣言"も "関数ステートメント"ですか?
多くの式もステートメントです。 –
"関数式は、関数式と非常によく似ており、関数式とほぼ同じ構文を持っています(詳細はfunctionステートメントを参照)。関数式と関数ステートメントの主な違いは、関数式で省略できる関数式は定義されるとすぐに実行されるIIFE(Immediately Invoked Function Expression)として使用できます。 " - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function – zfrisch
[式とステートメントの違いは何ですか?](https://stackoverflow.com/questions/32343679/what-is-the-difference-between-an-expression- and-a-statement) – zfrisch