Nell'ultimo video abbiamo visto come creare oggetti dalle funzioni del costruttore usando la nuova parola chiave in
questo video.
Impareremo come utilizzare più funzioni di costruzione senza duplicare il codice.
Il materiale qui sarà impegnativo.
Quindi assicurati di aver guardato la serie di video sulla parola chiave prima di andare avanti.
Ora immaginiamo di avere due funzioni di costruttore una per una macchina e una per una moto.
Ecco il codice per entrambi e quello che vediamo qui non è niente di speciale solo alcune funzioni che
costruiscono oggetti usando la nuova parola chiave.
Ma cosa non va bene di questo codice.
Guarda quanti codici stiamo duplicando nella funzione moto.
Sarebbe davvero bello se potessimo in qualche modo prendere in prestito il codice dalla funzione della carta e
metterlo nella funzione della moto.
Quindi potresti pensare perché non chiamiamo semplicemente la funzione auto all'interno della funzione moto.
Il problema qui è quando chiamiamo la funzione auto la parola chiave che si riferisce all'oggetto che
verrà creato dalla funzione dell'automobile.
Ma questa è la cosa sbagliata.
Quello che dobbiamo fare qui è cambiare il valore della parola chiave questo per essere l'oggetto
creato dalla funzione del ciclo motore.
Quindi, come possiamo cambiare il valore della parola chiave.
Ritorniamo alla nostra terza regola per capire il valore della parola chiave con vincoli espliciti.
Questo significa che vogliamo usare call apply o bind che possiamo eliminare usando bind perché non vogliamo restituire
una definizione di funzione, quindi scegliamo call o apply.
Meglio ancora diamo un'occhiata a entrambi e vediamo quale potrebbe essere una scelta migliore come avvertimento.
Il codice che sto per mostrarvi può essere piuttosto confuso all'inizio.
Quindi sentiti libero di mettere in pausa il video, prova a leggerlo prima e mettilo nella console cromata per vedere
esattamente cosa sta succedendo.
Quindi la funzione dell'auto sembra la stessa, ma nella funzione motociclistica sta accadendo qualcosa di divertente invece
di duplicare il codice dalla funzione dell'auto.
Invochiamo la funzione dell'automobile, ma cambiamo il contesto della parola chiave per essere la parola chiave.
Cosa significa.
Bene, ripensaci al nostro problema prima, quando non usavamo la chiamata, abbiamo perso il contesto corretto della parola
chiave.
Questo è il giusto valore della parola chiave.
Questo dovrebbe essere qualunque oggetto venga creato dalla funzione motocicletta.
Quando viene utilizzata la nuova parola chiave, il modo in cui accediamo a quell'oggetto è utilizzando la parola chiave
all'interno della funzione motocicletta.
Questo è abbastanza confuso.
Quindi proviamo a capirlo di nuovo.
Vogliamo rimuovere la duplicazione dalla nostra funzione motociclistica.
facendo è prendere in prestito il codice dalla funzione dell'automobile chiamandolo all'interno della funzione del ciclo motore.
Quindi quello che stiamo
Il problema qui è che la parola chiave all'interno della funzione auto non è la parola
chiave che vogliamo usare.
Quindi abbiamo bisogno di cambiare il valore della parola chiave per fare ciò che utilizziamo chiamante si applicano.
E come primo parametro da chiamare o applicare, specifichiamo ciò che vorremmo che il valore della parola
chiave fosse il valore che vogliamo.
La parola chiave che deve essere è l'oggetto che verrà creato dalla funzione motocicletta.
Il modo in cui otteniamo l'accesso a quell'oggetto è usando la parola chiave all'interno della funzione motocicletta.
Ecco perché il primo argomento da chiamare o applicare è la parola chiave questo che si riferisce
all'oggetto creato dalla funzione motocicletta.
Quando viene utilizzata la nuova parola chiave se sei ancora inciampato su questo non preoccuparti.
Stiamo facendo qualche javascript abbastanza avanzato qui.
Metti in pausa il video e prova questi esempi di codice.
E come sempre ci chiedono domande in modo che possiamo usare call o apply.
è un array di argomenti che vengono passati alla funzione in modo che possiamo posizionare make
model e year in un array o possiamo usare un'altra parola chiave speciale gli argomenti parola chiave.
Ma ricorda che l'unica differenza è che il secondo parametro che applica il secondo parametro da applicare
Potresti aver visto argomenti prima, ma se non gli argomenti è una lista di tutti gli argomenti che vengono
passati ad una funzione non è tecnicamente una matrice.
Ma per i nostri scopi puoi pensarlo come uno per ora ecco un rapido esempio usando la matrice degli argomenti.
Ho intenzione di creare una funzione chiamata argomenti lista che restituirà gli argomenti passati alla funzione.
Ora chiamiamo argomenti lista con uno due e tre.
Vedremo di recuperare un array di argomenti passati a quella funzione.
Ora nel nostro esempio possiamo usare la matrice di argomenti invece di elencare.
Crea modello e anno.
Mette un refattore piuttosto carino.
Siamo passati dal copiare e incollare tre linee della nostra funzione auto a prendere in prestito la funzione
dell'automobile cambiando il contesto della parola chiave e passando tutti gli argomenti a quella funzione nel prossimo video.
Ricapitoliamo ciò che abbiamo imparato sulle funzioni del costruttore e la nuova parola chiave.
Vedi o