diff --git a/doc/TypeScript Language Specification (Change Markup).docx b/doc/TypeScript Language Specification (Change Markup).docx index 08a3fb4ac0d9b..10a972fac8414 100644 Binary files a/doc/TypeScript Language Specification (Change Markup).docx and b/doc/TypeScript Language Specification (Change Markup).docx differ diff --git a/doc/TypeScript Language Specification (Change Markup).pdf b/doc/TypeScript Language Specification (Change Markup).pdf index 00a91ba1fc856..2330d9eab8633 100644 Binary files a/doc/TypeScript Language Specification (Change Markup).pdf and b/doc/TypeScript Language Specification (Change Markup).pdf differ diff --git a/doc/TypeScript Language Specification.docx b/doc/TypeScript Language Specification.docx index 7a82371f38c10..7334e11bd3121 100644 Binary files a/doc/TypeScript Language Specification.docx and b/doc/TypeScript Language Specification.docx differ diff --git a/doc/TypeScript Language Specification.pdf b/doc/TypeScript Language Specification.pdf index 323481fb7c215..a50170d32ba40 100644 Binary files a/doc/TypeScript Language Specification.pdf and b/doc/TypeScript Language Specification.pdf differ diff --git a/doc/spec.md b/doc/spec.md index cf92bb2db2fe9..8791eac1e7c25 100644 --- a/doc/spec.md +++ b/doc/spec.md @@ -5751,14 +5751,51 @@ This appendix contains a summary of the grammar found in the main document. As d ## A.3 Statements   *VariableDeclaration:* *( Modified )* -   *Identifier* *TypeAnnotationopt* *Initialiseropt* +   *SimpleVariableDeclaration* +   *DestructuringVariableDeclaration* -  *VariableDeclarationNoIn:* *( Modified )* -   *Identifier* *TypeAnnotationopt* *InitialiserNoInopt* +  *SimpleVariableDeclaration:* +   *Identifier* *TypeAnnotationopt* *Initialiseropt*   *TypeAnnotation:*    `:` *Type* +  *DestructuringVariableDeclaration:* +   *BindingPattern* *TypeAnnotationopt* *Initialiser* + +  *BindingPattern:* +   *ObjectBindingPattern* +   *ArrayBindingPattern* + +  *ObjectBindingPattern:* +   `{` `}` +   `{` *BindingPropertyList* `,`*opt* `}` + +  *BindingPropertyList:* +   *BindingProperty* +   *BindingPropertyList* `,` *BindingProperty* + +  *BindingProperty:* +   *Identifier* *Initialiseropt* +   *PropertyName* `:` *Identifier* *Initialiseropt* +   *PropertyName* `:` *BindingPattern* *Initialiseropt* + +  *ArrayBindingPattern:* +   `[` *Elisionopt* *BindingRestElementopt* `]` +   `[` *BindingElementList* `]` +   `[` *BindingElementList* `,` *Elisionopt* *BindingRestElementopt* `]` + +  *BindingElementList:* +   *Elisionopt* *BindingElement* +   *BindingElementList* `,` *Elisionopt* *BindingElement* + +  *BindingElement:* +   *Identifier* *Initialiseropt* +   *BindingPattern* *Initialiseropt* + +  *BindingRestElement:* +   `...` *Identifier* + ## A.4 Functions   *FunctionDeclaration:* *( Modified )*