ECMAScript 2017 规范已经发布了,这一版目录结构非常清晰,
以下是ES 2017规范的二级目录结构:
Introduction
1 Scope
2 Conformance
3 Normative References
4 Overview
4.1 Web Scripting
4.2 ECMAScript Overview
4.3 Terms and Definitions
4.4 Organization of This Specification
5 Notational Conventions
5.1 Syntactic and Lexical Grammars
5.2 Algorithm Conventions
5.3 Static Semantic Rules
6 ECMAScript Data Types and Values
6.1 ECMAScript Language Types
6.2 ECMAScript Specification Types
7 Abstract Operations
7.1 Type Conversion
7.2 Testing and Comparison Operations
7.3 Operations on Objects
7.4 Operations on Iterator Objects
8 Executable Code and Execution Contexts
8.1 Lexical Environments
8.2 Realms
8.3 Execution Contexts
8.4 Jobs and Job Queues
8.5 InitializeHostDefinedRealm()
8.6 RunJobs()
8.7 Agents
8.8 Agent Clusters
8.9 Forward Progress
9 Ordinary and Exotic Objects Behaviours
9.1 Ordinary Object Internal Methods and Internal Slots
9.2 ECMAScript Function Objects
9.3 Built‑in Function Objects
9.4 Built‑in Exotic Object Internal Methods and Slots
9.5 Proxy Object Internal Methods and Internal Slots
10 ECMAScript Language: Source Code
10.1 Source Text
10.2 Types of Source Code
11 ECMAScript Language: Lexical Grammar
11.1 Unicode Format‑Control Characters
11.2 White Space
11.3 Line Terminators
11.4 Comments
11.5 Tokens
11.6 Names and Keywords
11.7 Punctuators
11.8 Literals
11.9 Automatic Semicolon Insertion
12 ECMAScript Language: Expressions
12.1 Identifiers
12.2 Primary Expression
12.3 Left‑Hand‑Side Expressions
12.4 Update Expressions
12.5 Unary Operators
12.6 Exponentiation Operator
12.7 Multiplicative Operators
12.8 Additive Operators
12.9 Bitwise Shift Operators
12.10 Relational Operators
12.11 Equality Operators
12.12 Binary Bitwise Operators
12.13 Binary Logical Operators
12.14 Conditional Operator (?:)
12.15 Assignment Operators
12.16 Comma Operator (,)
13 ECMAScript Language: Statements and Declarations
13.1 Statement Semantics
13.2 Block
13.3 Declarations and the Variable Statement
13.4 Empty Statement
13.5 Expression Statement
13.6 The if Statement
13.7 Iteration Statements
13.8 The continue Statement
13.9 The break Statement
13.10 The return Statement
13.11 The with Statement
13.12 The switch Statement
13.13 Labelled Statements
13.14 The throw Statement
13.15 The try Statement
13.16 The debugger Statement
14 ECMAScript Language: Functions and Classes
14.1 Function Definitions
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
14.8 Tail Position Calls
15 ECMAScript Language: Scripts and Modules
15.1 Scripts
15.2 Modules
16 Error Handling and Language Extensions
16.1 HostReportErrors(errorList)
16.2 Forbidden Extensions
17 ECMAScript Standard Built‑in Objects
18 The Global Object
18.1 Value Properties of the Global Object
18.2 Function Properties of the Global Object
18.3 Constructor Properties of the Global Object
18.4 Other Properties of the Global Object
19 Fundamental Objects
19.1 Object Objects
19.2 Function Objects
19.3 Boolean Objects
19.4 Symbol Objects
19.5 Error Objects
20 Numbers and Dates
20.1 Number Objects
20.2 The Math Object
20.3 Date Objects
21 Text Processing
21.1 String Objects
21.2 RegExp (Regular Expression) Objects
22 Indexed Collections
22.1 Array Objects
22.2 TypedArray Objects
23 Keyed Collection
23.1 Map Objects
23.2 Set Objects
23.3 WeakMap Objects
23.4 WeakSet Objects
24 Structured Data
24.1 ArrayBuffer Objects
24.2 SharedArrayBuffer Objects
24.3 DataView Objects
24.4 The Atomics Object
24.5 The JSON Object
25 Control Abstraction Objects
25.1 Iteration
25.2 GeneratorFunction Objects
25.3 Generator Objects
25.4 Promise Objects
25.5 AsyncFunction Objects
26 Reflection
26.1 The Reflect Object
26.2 Proxy Objects
26.3 Module Namespace Objects
27 Memory Model
27.1 Memory Model Fundamentals
27.2 Agent Events Records
27.3 Chosen Value Records
27.4 Candidate Executions
27.5 Abstract Operations for the Memory Model
27.6 Relations of Candidate Executions
27.7 Properties of Valid Executions
27.8 Races
27.9 Data Races
27.10 Data Race Freedom
27.11 Shared Memory Guidelines
A Grammar Summary
B Additional ECMAScript Features for Web Browsers
C The Strict Mode of ECMAScript
D Corrections and Clarifications in ECMAScript 2015 with Possible Compatibility Impact
E Additions and Changes That Introduce Incompatibilities with Prior Editions
F Bibliography
G Copyright & Software License