TypeScript Language Specification v1.5
TypeScript Language Specification v1.5
TypeScript Language Specification v1.5
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