In che cosa tutti gli aspetti, chiamando una funzione con e senza nuova parola chiave differiscono in javascript? Intendo cosa differiscono tra tutte le cose?
testFn()
vs new testFn()
new
crea un nuovo oggetto (vuoto) e imposta this
su di esso, quindi chiama la funzione, che funge da costruttore per l'oggetto (manipolando this
. qualcosa ) . Chiamare la stessa funzione senza la parola chiave new
lascerebbe agire su qualunque cosa sia this
attualmente.
Queste varianti sono sintatticamente diverse: con la "nuova" variante si suppone che la funzione sia un costruttore. La variante senza "nuovo" suppone, che è non un costruttore.
Leggi altre domande sui tag javascript