FunctionDeclaration : function Identifier ( FormalParameterListopt ) { FunctionBody } FunctionExpression : function Identifieropt ( FormalParameterListopt ) { FunctionBody } FormalParameterList : Identifier FormalParameterList , Identifier FunctionBody : SourceElementsopt
関数定義の生成規則
FunctionDeclaration : function Identifier ( FormalParameterListopt ) { FunctionBody }
関数命名の生成規則
FunctionExpression : function ( FormalParameterListopt ) { FunctionBody }
FunctionExpression : function Identifier ( FormalParameterListopt ) { FunctionBody }
6つのプロセスを経て評価される
ソースコードの生成規則
FunctionBody : SourceElementsopt
20くらいプロセスがあるのでなんか長い
FunctionオブジェクトFに対する[[Call]]内部メソッドがthis値と引数のリストとともに呼び出されると、以下のステップが実行
FunctionオブジェクトFに対する[[Construct]]内部メソッドが空となる可能性のある引数リストとともに呼び出されると、以下のステップが実行
[[ThrowTypeError]]オブジェクトは以下のように一度だけ定義される唯一の関数オブジェクトである
13 関数定義
構文
生成規則
関数定義の生成規則
生成規則
関数命名の生成規則
生成規則
関数命名の生成規則
6つのプロセスを経て評価される
注釈
生成規則
ソースコードの生成規則
13.1 strictモードの制限
13.2 Functionオブジェクトの生成
20くらいプロセスがあるのでなんか長い
13.2.1 [[Call]]
FunctionオブジェクトFに対する[[Call]]内部メソッドがthis値と引数のリストとともに呼び出されると、以下のステップが実行
13.2.2 [[Construct]]
FunctionオブジェクトFに対する[[Construct]]内部メソッドが空となる可能性のある引数リストとともに呼び出されると、以下のステップが実行
13.2.3 [[ThrowTypeError]]
[[ThrowTypeError]]オブジェクトは以下のように一度だけ定義される唯一の関数オブジェクトである