23.06.2015 Views

TypeScript Language Specification v1.5

TypeScript Language Specification v1.5

TypeScript Language Specification v1.5

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

12.1.3 Ambient Class Declarations<br />

An ambient class declaration declares a class instance type and a constructor function in the containing<br />

module.<br />

AmbientClassDeclaration:<br />

class Identifier TypeParameters opt ClassHeritage { AmbientClassBody }<br />

AmbientClassBody:<br />

AmbientClassBodyElements opt<br />

AmbientClassBodyElements:<br />

AmbientClassBodyElement<br />

AmbientClassBodyElements AmbientClassBodyElement<br />

AmbientClassBodyElement:<br />

AmbientConstructorDeclaration<br />

AmbientPropertyMemberDeclaration<br />

IndexSignature<br />

AmbientConstructorDeclaration:<br />

constructor ( ParameterList opt ) ;<br />

AmbientPropertyMemberDeclaration:<br />

AccessibilityModifier opt static opt PropertyName TypeAnnotation opt ;<br />

AccessibilityModifier opt static opt PropertyName CallSignature ;<br />

12.1.4 Ambient Enum Declarations<br />

An ambient enum is grammatically equivalent to a non-ambient enum declaration.<br />

AmbientEnumDeclaration:<br />

EnumDeclaration<br />

Ambient enum declarations differ from non-ambient enum declarations in two ways:<br />

<br />

<br />

In ambient enum declarations, all values specified in enum member declarations must be<br />

classified as constant enum expressions.<br />

In ambient enum declarations that specify no const modifier, enum member declarations that<br />

omit a value are considered computed members (as opposed to having auto-incremented values<br />

assigned).<br />

Ambient enum declarations are otherwise processed in the same manner as non-ambient enum<br />

declarations.<br />

12.1.5 Ambient Module Declarations<br />

An ambient module declaration declares an internal module.<br />

152

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!