Instancia de clase anónima: ¿es una mala idea?

En ES6 podemos hacer una clase anónima:

var entity = class {
}

Pero también podemos instanciarlo:

var entity = new class {
    constructor(name) { this.name = name; }
    getName() { return this.name; }
}('Foo');
console.log(entity.getName()); // Foo

¿Qué se hace detrás de esto, qué ventaja traerá y qué advertencias traerá también?