ECMAScript 2017:“13.2 创建函数对象”去哪儿了(来自 ES5)?

ECMAScript 2017: Where Did "13.2 Creating Function Objects" Go (from ES5)?

ECMA-262, version 5.x(又名 ECMAScript 5 | ES5)中,曾经有一个名为 Creating Function Objects 的第 13.2 节。

我一直在搜索最新版本的标准,ECMAScript 2017(又名 ECMAScript 8 | ES8),但找不到类似的描述。

ES8中的Section 14.1称为Function Definitions,与ES5中的Section 13相同。据我所知。

他们把整块都拿走了吗?我认为这是对定义新函数时实际发生的情况的非常有用的描述。

由于有更多种类的函数对象和函数语法,这有点变化。

在 ES5 中我们有

10 Executable Code and Execution Contexts
     …
10.4 Establishing an Execution Context
       …
10.4.3 Entering Function Code
10.5 Declaration Binding Instantiation
10.6 Arguments Object
   …
13 Function Definition
     (syntax and evaluation of declarations and expressions)
13.1 Strict Mode Restrictions
13.2 Creating Function Objects
13.2.1 [[Call]]
13.2.2 [[Construct]]
13.2.3 The [[ThrowTypeError]] Function Object

在 ES8 中我们有

 9 Ordinary and Exotic Objects Behaviours
 9.1 Ordinary Object Internal Methods and Internal Slots
 9.2 ECMAScript Function Objects
 9.2.1 [[Call]] ( thisArgument, argumentsList )
 9.2.2 [[Construct]] ( argumentsList, newTarget )
 9.2.3 FunctionAllocate ( functionPrototype, strict, functionKind )
 9.2.4 FunctionInitialize ( F, kind, ParameterList, Body, Scope )
 9.2.5 FunctionCreate ( kind, ParameterList, Body, Scope, Strict [ , prototype ] )
 9.2.6 GeneratorFunctionCreate ( kind, ParameterList, Body, Scope, Strict )
       …  
14 ECMAScript Language: Functions and Classes
14.1 Function Definitions
        …
14.1.18 RS: EvaluateBody
14.1.19 RS: IteratorBindingInitialization
14.1.20 RS: InstantiateFunctionObject
14.1.21 RS: Evaluation
14.2 Arrow Function Definitions
        …
14.3 Method Definitions
        …
14.4 Generator Function Definitions
        …
14.5 Class Definitions
        …
14.6 Async Function Definitions
        …
14.7 Async Arrow Function Definitions
        …
     …