Ho visto un video in cui Crockford ci ha detto di non utilizzare la parola chiave new
. Ha detto di usare Object.create invece se non sbaglio. Perché ci ha detto di non usare new
se ha usato nel raggiungimento di ereditarietà prototipale in questo articolo che ha scritto: http://javascript.crockford.com/prototypal.htmlPerché Crockford dice di non usare la nuova parola chiave se ci consiglia di usarla per l'ereditarietà prototipale?
mi aspetterei che lui usi Object.create invece di new
, in questo modo:
function object(o) {
return Object.create((function() {}).prototype = o);
}
Quindi perché usa ancora new
?
Forse ha imparato qualcosa da quel video/articolo? È difficile sapere senza il video/contesto. – alexn
Probabilmente una combinazione di A) 'Object.create' non è [supportata] (http://kangax.github.com/es5-compat-table/) su una manciata di browser, e B) che l'articolo è stato scritto diversi anni fa; il suo stile di programmazione, come la maggior parte dei nostri, probabilmente è cambiato e si è evoluto da allora. –
Ecco il video: http://www.youtube.com/watch?v=hQVTIJBZook (non so esattamente dove nel video ha detto che, scusa) – 0x499602D2