No padrão atual do JavaScript, existem várias formas de ‘simular’ uma classe. Iniciantes, com razão, ficam confuso com isto.
Iremos apresentar uma das formas que costumamos utilizar, assim como a forma como os programadores em geral estão acostumados a ver uma classe sendo criada.
Abaixo, como os programadores em geral estão acostumados e esperariam poder escrever uma classe em JavaScript:
class Greeter { var greeting; constructor(message) { this.greeting = message; } greet() { return "Hello, " + this.greeting; } } var greeter = new Greeter("World");
Abaixo, uma das possíveis formas de como efetuar uma declaração correspondente:
var Greeter = (function () { function Greeter(message) { this.greeting = message; }; Greeter.prototype.greet = function () { return "Hello, " + this.greeting; }; return Greeter; })(); var greeter = new Greeter("world");