A.6 Classes
ClassDeclaration: ( Modified ) class
BindingIdentifieropt TypeParametersopt ClassHeritage {
ClassBody }
ClassHeritage: ( Modified ) ClassExtendsClauseopt ImplementsClauseopt
ClassExtendsClause: extends
ClassType
ClassType: TypeReference
ImplementsClause: implements
ClassOrInterfaceTypeList
ClassElement: ( Modified ) ConstructorDeclaration PropertyMemberDeclaration IndexMemberDeclaration
ConstructorDeclaration: AccessibilityModifieropt constructor
(
ParameterListopt )
{
FunctionBody }
AccessibilityModifieropt constructor
(
ParameterListopt )
;
PropertyMemberDeclaration: MemberVariableDeclaration MemberFunctionDeclaration MemberAccessorDeclaration
MemberVariableDeclaration: AccessibilityModifieropt static
opt PropertyName TypeAnnotationopt Initializeropt ;
MemberFunctionDeclaration: AccessibilityModifieropt static
opt PropertyName CallSignature {
FunctionBody }
AccessibilityModifieropt static
opt PropertyName CallSignature ;
MemberAccessorDeclaration: AccessibilityModifieropt static
opt GetAccessor AccessibilityModifieropt static
opt SetAccessor
IndexMemberDeclaration: IndexSignature ;