.l-main-section h2(class="function export") Class pre.prettyprint code. Class(clsDef: ClassDefinition) : Type p.location-badge. exported from angular2/annotations defined in angular2/src/util/decorators.ts (line 124) :markdown Provides a way for expressing ES6 classes with parameter annotations in ES5. ## Basic Example ``` var Greeter = ng.Class({ constructor: function(name) { this.name = name; }, greet: function() { alert('Hello ' + this.name + '!'); } }); ``` is equivalent to ES6: ``` class Greeter { constructor(name) { this.name = name; } greet() { alert('Hello ' + this.name + '!'); } } ``` or equivalent to ES5: ``` var Greeter = function (name) { this.name = name; } Greeter.prototype.greet = function () { alert('Hello ' + this.name + '!'); } ``` ## Example with parameter annotations ``` var MyService = neg.Class({ constructor: [String, [new Query(), QueryList], function(name, queryList) { ... }]; }); ``` is equivalent to ES6: ``` class MyService { constructor(name: string, @Query() queryList: QueryList) { ... } } ``` ## Example with inheritance ``` var Shape = ng.Class({ constructor: (color) { this.color = color; } }); var Square = ng.Class({ extends: Shape, constructor: function(color, size) { Shape.call(this, color); this.size = size; } }); ```