Javascript 1.9.3 / ECMAScript 5 wird eingeführt Object.create
die unter anderem von Douglas Crockford durchgeführt wurde. Befürwortung für eine lange Zeit. Wie kann ich ersetzen new
im folgenden Code mit Object.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();
(Angenommen MY_GLOBAL.nextId
existiert).
Das Beste, was mir einfällt, ist:
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();
Es scheint keinen Vorteil zu geben, also denke ich, dass ich es nicht verstehe. Wahrscheinlich bin ich zu neoklassisch. Wie sollte ich Object.create
um den Benutzer 'bob' zu erstellen?