Sono un programmatore abbastanza esperto nei domini .NET e Java e ho iniziato a leggere su JavaScript. Ho comprato il libro "The Good Parts" di Douglas Crockford, e sono subito scoraggiato da alcune cose.
Uno sta modificando i tipi fondamentali senza bisogno:
if (typeof Object.create !== 'function') {
Object.create = function (o) { //Really... 'o'? For a parameter you're only using twice?
function F() {}
F.prototype = o;
return new F();
};
}
newObject = Object.create(oldObject);
Ovviamente la creazione di una funzione con questo scopo è utile e consente di risparmiare tempo, ma PERCHÉ SULLA TERRA si consiglia di crearlo su Object? Tre respiri fa si è sposato che i globali sono malvagi, e poi ha proceduto alla scimmia patch Object. Verifica anche se esiste già, e presume solo che se qualche altra libreria l'ha fatto per lui l'implementazione è la stessa.
C'è qualche ragione per non crearlo nell'equivalente JS di uno spazio dei nomi? vale a dire
MY_UNIQUE_UTIL_LIBRARY.create = function(obj){...}; //The name would be shorter in reality.
Non fraintendermi, penso che la patch per scimmia sia utile, ma è qualcosa che fai quando c'è un vantaggio intrinseco. Non ne vedo uno qui? Ce n'è uno?