Considerate questo codice:L'utilizzo di new in Javascript è lo stesso di non utilizzarlo?
function klass(z) {
this.a = z;
return this;
}
var b = klass(5);
var c = new klass(9);
quando l'eseguo in Chrome e il check-in della console, b
risulta essere di tipo DOMWindow
, mentre c
è di tipo klass
.
Sebbene entrambi hanno la proprietà una, efficacemente sia essendo un un'istanza di klass.
- Si sta utilizzando o non si utilizza nuovo, lo stesso?
- È lo stesso in questo esempio ma diverso in altre situazioni?
- Ci sono differenze di efficienza o comportamento?
Nizza domanda, vorrei sapere anche questo. –
Solo dalle informazioni nella tua domanda non sono ovviamente uguali, perché gli oggetti risultanti hanno tipi diversi. Se indaga su quali altre proprietà il primo ha, vedrai la differenza ... – nnnnnn