Usando "Object.create" en lugar de "nuevo"

Se introduce Javascript 1.9.3 / ECMAScript 5Object.create, que Douglas Crockford entre otros ha sidoabogando por mucho tiempo. ¿Cómo reemplazonew en el siguiente código conObject.create?

var UserA = function(nameParam) {
    this.id = MY_GLOBAL.nextId();
    this.name = nameParam;
}
UserA.prototype.sayHello = function() {
    console.log('Hello '+ this.name);
}
var bob = new UserA('bob');
bob.sayHello();

(Suponga que MY_GLOBAL.nextId existe).

Lo mejor que se me ocurre es:

var userB = {
    init: function(nameParam) {
        this.id = MY_GLOBAL.nextId();
        this.name = nameParam;
    },
    sayHello: function() {
        console.log('Hello '+ this.name);
    }
};
var bob = Object.create(userB);
bob.init('Bob');
bob.sayHello();

No parece haber ninguna ventaja, así que creo que no la estoy obteniendo. Probablemente estoy siendo demasiado neoclásico. ¿Cómo debo usarObject.create crear usuario 'bob'?

Respuestas a la pregunta(14)

Su respuesta a la pregunta