Nel moderno JavaScript, ci sono anche due importanti operatori di cui dovresti essere a conoscenza, dal momento che tutti li useranno
anche per il corso.
E questo è riposare e diffondersi.
Gli operatori sanno specificamente che l'operatore spread è uno che useremo un po '.
Diciamo che vogliamo implementare il modello in cui quando aggiungiamo un nuovo hobby, non modifichiamo l'array originale,
ma creiamo un nuovo array con tutti i vecchi valori.
E il nuovo valore è in realtà un modello piuttosto comune chiamato immutabilità, in cui non abbiamo mai
aggiunto valori esistenti, ma dove li sostituiamo sempre con copie.
Inoltre le modifiche.
E questo è tutto uno schema.
Userò molto nel corso.
L'idea alla base di ciò è che evitiamo errori perché abbiamo sempre questo chiaro approccio alla copia.
Quindi aggiungilo e non modificare oggetti esistenti che potrebbero portare a codice più illeggibile.
Ora per copiare un array.
Diciamo che qui creo l'array Kopit.
Abbiamo un paio di possibili tecniche.
Uno di questi è usare per tagliare l'operatore.
Ora, se eseguo output di matrici copiate laggiù e corro nodo a giocare a scacchi, vedo sport e cucina.
Quindi l'ho davvero copiato.
Slice copia semplicemente un array.
Possiamo passare argomenti per restringere l'intervallo di elementi che vogliamo copiare senza argomenti.
Copiamo l'intero array.
Ora, invece di slice, esiste anche una tecnica diversa.
Possiamo creare un nuovo array con parentesi quadre e aggiungere lo sguardo di Hobbie.
Giusto?
Cosa succede se eseguiamo questo?
Cosa vedremo nella console?
Bene, se premo invio, vediamo.
Bene, sembra una copia a prima vista, ma in realtà è un array senza array.
Quindi l'array esterno ha un solo elemento.
E questa è la matrice interna.
Quindi non è una copia.
È solo un nuovo array in cui il primo elemento è il vecchio array.
E con questo intendo esattamente lo stesso oggetto.
Non una copia di quello.
Quindi abbiamo appena creato un.
Matrice nidificata qui.
Questo, ovviamente, non era quello che volevamo fare qui.
E qui possiamo usare per diffondere l'operatore, l'operatore di diffusione sono punti liberi.
Possiamo aggiungere davanti a un array o a un oggetto.
E questi punti liberi sono operatori proprio come un segno più o meno R.
E fanno una cosa.
Prendono questi array o oggetti dopo l'operatore ed estraggono tutti gli elementi o le proprietà.
Quindi tutti gli elementi di un array o tutte le proprietà di un oggetto e lo mettono in qualunque cosa sia attorno allo spread del
debito.
Operatore In questo caso abbiamo parentesi quadre attorno allo spread.
Operatore E quindi tutti gli elementi che vengono estratti dall'array esistente vengono aggiunti al nuovo
array.
E quindi, se ora corro di nuovo in autunno, weps e lo salvo prima di eseguirlo di nuovo.
Ora vediamo che questo è stato l'output del vecchio approccio, l'array nidificato.
Ora non abbiamo più alcun array nidificato.
Abbiamo un array.
E questa è ora una copia di quella precedente, perché prendiamo questi operatori di diffusione per estrarre questi elementi
e aggiungerli uno per uno al nuovo array.
Quindi questo è qualcosa che vedrai.
Facciamo molto per copiare array o oggetti esistenti.
Sterrett avrebbe funzionato allo stesso modo.
Potremmo avere la nostra persona copiata usando le parentesi graffe.
Quindi l'operatore di diffusione, i punti liberi e poi la persona anziana.
E ora se una console ha bloccato una persona copiata qui.
E eseguo di nuovo questo autunno.
Questa è la nostra persona Kopit qui perché sto estraendo tutti questi elementi da quell'oggetto e lo aggiungo a
un nuovo oggetto.
Quindi funziona sia per oggetti che per array.
Ed è un Syntex.
Userò un bel po 'in questo corso.
Ora fa questo per diffondersi.
Operatore, ho anche citato l'operatore di riposo e l'operatore di riposo è essenzialmente l'opposto.
Diciamo che ho una funzione che chiamerò due array.
È una funzione freccia.
E lì mi aspetto che gli argomenti siano liberi da un arco all'altro.
Voglio restituire un array che contiene questi argomenti.
Gibson emesso ad un segno di uguale qui.
Quindi, quando restituisco un array che contiene questi argomenti, posso restituire qui parentesi quadre, ovviamente.
E poi il primo elemento sarà AAG uno.
Quindi ho ARC due è il secondo elemento e arco libero è il primo elemento.
Ora posso consolare il blocco all'array e passare uno, due e tre come argomenti gratuiti a quella funzione.
Se ora eseguo il gioco degli scacchi, vediamo un array con uno, due e tre elementi D tre.
Quindi funziona, ma non è totalmente flessibile.
E se vogliamo passare per argomenti?
Bene, potremmo chiamarlo così.
JavaScript lo consente effettivamente.
Ma, naturalmente, non viene aggiunto perché qui lavoriamo solo con argomenti gratuiti.
Potremmo fare se potessimo usare il cosiddetto operatore di riposo, cara.
Punto punto punto.
E poi chiede solo.
E questo prenderà effettivamente tutti gli argomenti.
Quanti potremmo specificare.
Non importa.
E li raggrupperà in un array per noi.
Quindi qui gli ARG saranno un array e posso semplicemente restituirlo.
E ora se lo eseguo con due array che ottengono argomenti, vedete ora ho il mio array con quattro
argomenti qui.
Quindi l'operatore di riposo sembra proprio l'operatore di diffusione.
Punti liberi.
Ed è il luogo in cui lo usi che definisce come lo chiami.
Lo stai usando per estrarre elementi o proprietà da array o oggetti?
Quindi sarebbe l'operatore di diffusione.
Lo stai usando per unire più argomenti in un array?
E lo usi nella lista degli argomenti di una funzione.
Quindi è l'operatore di riposo.
È lo stesso operatore di Syntex o dal punto di vista di Syntex.
Il nome differisce a seconda del luogo in cui lo si utilizza.
Non lo userò.
Alcuni ci vogliono molto in questo corso, ma è comunque bello saperlo.
Ma essendo in grado di estrarre elementi o proprietà, dati, qualcosa che dovresti capire perché papà è un
Syntex, mi vedrai usare un po 'durante il corso.