В ES6 мы можем сделать анонимный класс:
var entity = class {
}
Но мы также можем его создать:
var entity = new class {
constructor(name) { this.name = name; }
getName() { return this.name; }
}('Foo');
console.log(entity.getName()); // Foo
Что делается за ним, какая польза от него принесет и какие оговорки он принесет?