1 00:00:02,630 --> 00:00:09,830 Nel moderno JavaScript, ci sono anche due importanti operatori di cui dovresti essere a conoscenza, dal momento che tutti li useranno 2 00:00:09,830 --> 00:00:11,600 anche per il corso. 3 00:00:12,080 --> 00:00:14,110 E questo è riposare e diffondersi. 4 00:00:14,270 --> 00:00:18,950 Gli operatori sanno specificamente che l'operatore spread è uno che useremo un po '. 5 00:00:19,550 --> 00:00:26,390 Diciamo che vogliamo implementare il modello in cui quando aggiungiamo un nuovo hobby, non modifichiamo l'array originale, 6 00:00:26,390 --> 00:00:30,740 ma creiamo un nuovo array con tutti i vecchi valori. 7 00:00:31,190 --> 00:00:37,610 E il nuovo valore è in realtà un modello piuttosto comune chiamato immutabilità, in cui non abbiamo mai 8 00:00:37,610 --> 00:00:41,300 aggiunto valori esistenti, ma dove li sostituiamo sempre con copie. 9 00:00:41,420 --> 00:00:42,950 Inoltre le modifiche. 10 00:00:43,180 --> 00:00:44,270 E questo è tutto uno schema. 11 00:00:44,270 --> 00:00:45,770 Userò molto nel corso. 12 00:00:46,310 --> 00:00:52,760 L'idea alla base di ciò è che evitiamo errori perché abbiamo sempre questo chiaro approccio alla copia. 13 00:00:52,910 --> 00:00:58,250 Quindi aggiungilo e non modificare oggetti esistenti che potrebbero portare a codice più illeggibile. 14 00:00:58,910 --> 00:01:00,320 Ora per copiare un array. 15 00:01:00,710 --> 00:01:03,680 Diciamo che qui creo l'array Kopit. 16 00:01:04,100 --> 00:01:06,320 Abbiamo un paio di possibili tecniche. 17 00:01:06,650 --> 00:01:08,780 Uno di questi è usare per tagliare l'operatore. 18 00:01:09,200 --> 00:01:15,260 Ora, se eseguo output di matrici copiate laggiù e corro nodo a giocare a scacchi, vedo sport e cucina. 19 00:01:15,260 --> 00:01:16,520 Quindi l'ho davvero copiato. 20 00:01:17,000 --> 00:01:19,520 Slice copia semplicemente un array. 21 00:01:19,730 --> 00:01:24,800 Possiamo passare argomenti per restringere l'intervallo di elementi che vogliamo copiare senza argomenti. 22 00:01:24,860 --> 00:01:26,270 Copiamo l'intero array. 23 00:01:27,320 --> 00:01:30,470 Ora, invece di slice, esiste anche una tecnica diversa. 24 00:01:31,070 --> 00:01:35,570 Possiamo creare un nuovo array con parentesi quadre e aggiungere lo sguardo di Hobbie. 25 00:01:35,570 --> 00:01:35,920 Giusto? 26 00:01:36,410 --> 00:01:38,540 Cosa succede se eseguiamo questo? 27 00:01:38,900 --> 00:01:40,550 Cosa vedremo nella console? 28 00:01:41,590 --> 00:01:43,880 Bene, se premo invio, vediamo. 29 00:01:44,170 --> 00:01:50,080 Bene, sembra una copia a prima vista, ma in realtà è un array senza array. 30 00:01:50,530 --> 00:01:53,290 Quindi l'array esterno ha un solo elemento. 31 00:01:53,510 --> 00:01:54,700 E questa è la matrice interna. 32 00:01:55,150 --> 00:01:56,290 Quindi non è una copia. 33 00:01:56,470 --> 00:02:00,190 È solo un nuovo array in cui il primo elemento è il vecchio array. 34 00:02:00,370 --> 00:02:02,590 E con questo intendo esattamente lo stesso oggetto. 35 00:02:02,680 --> 00:02:03,850 Non una copia di quello. 36 00:02:04,810 --> 00:02:06,320 Quindi abbiamo appena creato un. 37 00:02:07,690 --> 00:02:08,860 Matrice nidificata qui. 38 00:02:09,050 --> 00:02:11,620 Questo, ovviamente, non era quello che volevamo fare qui. 39 00:02:12,340 --> 00:02:17,400 E qui possiamo usare per diffondere l'operatore, l'operatore di diffusione sono punti liberi. 40 00:02:17,440 --> 00:02:20,680 Possiamo aggiungere davanti a un array o a un oggetto. 41 00:02:21,460 --> 00:02:25,900 E questi punti liberi sono operatori proprio come un segno più o meno R. 42 00:02:26,830 --> 00:02:28,120 E fanno una cosa. 43 00:02:28,930 --> 00:02:38,590 Prendono questi array o oggetti dopo l'operatore ed estraggono tutti gli elementi o le proprietà. 44 00:02:38,650 --> 00:02:47,710 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 45 00:02:47,740 --> 00:02:48,430 debito. 46 00:02:48,460 --> 00:02:52,210 Operatore In questo caso abbiamo parentesi quadre attorno allo spread. 47 00:02:52,210 --> 00:02:59,410 Operatore E quindi tutti gli elementi che vengono estratti dall'array esistente vengono aggiunti al nuovo 48 00:02:59,410 --> 00:03:00,040 array. 49 00:03:00,730 --> 00:03:06,010 E quindi, se ora corro di nuovo in autunno, weps e lo salvo prima di eseguirlo di nuovo. 50 00:03:06,550 --> 00:03:09,970 Ora vediamo che questo è stato l'output del vecchio approccio, l'array nidificato. 51 00:03:10,420 --> 00:03:12,520 Ora non abbiamo più alcun array nidificato. 52 00:03:12,610 --> 00:03:13,810 Abbiamo un array. 53 00:03:13,960 --> 00:03:21,160 E questa è ora una copia di quella precedente, perché prendiamo questi operatori di diffusione per estrarre questi elementi 54 00:03:21,370 --> 00:03:24,880 e aggiungerli uno per uno al nuovo array. 55 00:03:25,720 --> 00:03:26,830 Quindi questo è qualcosa che vedrai. 56 00:03:26,830 --> 00:03:30,760 Facciamo molto per copiare array o oggetti esistenti. 57 00:03:30,760 --> 00:03:32,350 Sterrett avrebbe funzionato allo stesso modo. 58 00:03:32,860 --> 00:03:37,780 Potremmo avere la nostra persona copiata usando le parentesi graffe. 59 00:03:38,230 --> 00:03:42,280 Quindi l'operatore di diffusione, i punti liberi e poi la persona anziana. 60 00:03:42,910 --> 00:03:45,670 E ora se una console ha bloccato una persona copiata qui. 61 00:03:47,860 --> 00:03:49,880 E eseguo di nuovo questo autunno. 62 00:03:50,240 --> 00:03:56,750 Questa è la nostra persona Kopit qui perché sto estraendo tutti questi elementi da quell'oggetto e lo aggiungo a 63 00:03:56,750 --> 00:03:57,920 un nuovo oggetto. 64 00:03:58,130 --> 00:04:00,890 Quindi funziona sia per oggetti che per array. 65 00:04:01,100 --> 00:04:02,750 Ed è un Syntex. 66 00:04:02,810 --> 00:04:04,520 Userò un bel po 'in questo corso. 67 00:04:05,150 --> 00:04:06,230 Ora fa questo per diffondersi. 68 00:04:06,260 --> 00:04:14,150 Operatore, ho anche citato l'operatore di riposo e l'operatore di riposo è essenzialmente l'opposto. 69 00:04:15,270 --> 00:04:18,560 Diciamo che ho una funzione che chiamerò due array. 70 00:04:19,320 --> 00:04:20,400 È una funzione freccia. 71 00:04:21,090 --> 00:04:26,160 E lì mi aspetto che gli argomenti siano liberi da un arco all'altro. 72 00:04:27,320 --> 00:04:30,050 Voglio restituire un array che contiene questi argomenti. 73 00:04:30,470 --> 00:04:32,600 Gibson emesso ad un segno di uguale qui. 74 00:04:32,900 --> 00:04:38,810 Quindi, quando restituisco un array che contiene questi argomenti, posso restituire qui parentesi quadre, ovviamente. 75 00:04:39,260 --> 00:04:41,300 E poi il primo elemento sarà AAG uno. 76 00:04:41,960 --> 00:04:45,710 Quindi ho ARC due è il secondo elemento e arco libero è il primo elemento. 77 00:04:47,160 --> 00:04:57,410 Ora posso consolare il blocco all'array e passare uno, due e tre come argomenti gratuiti a quella funzione. 78 00:04:58,420 --> 00:05:03,070 Se ora eseguo il gioco degli scacchi, vediamo un array con uno, due e tre elementi D tre. 79 00:05:03,190 --> 00:05:06,490 Quindi funziona, ma non è totalmente flessibile. 80 00:05:06,910 --> 00:05:08,830 E se vogliamo passare per argomenti? 81 00:05:09,280 --> 00:05:10,660 Bene, potremmo chiamarlo così. 82 00:05:10,990 --> 00:05:12,660 JavaScript lo consente effettivamente. 83 00:05:12,760 --> 00:05:16,810 Ma, naturalmente, non viene aggiunto perché qui lavoriamo solo con argomenti gratuiti. 84 00:05:17,560 --> 00:05:20,740 Potremmo fare se potessimo usare il cosiddetto operatore di riposo, cara. 85 00:05:22,350 --> 00:05:23,190 Punto punto punto. 86 00:05:23,400 --> 00:05:24,600 E poi chiede solo. 87 00:05:25,200 --> 00:05:27,630 E questo prenderà effettivamente tutti gli argomenti. 88 00:05:27,960 --> 00:05:29,550 Quanti potremmo specificare. 89 00:05:29,570 --> 00:05:30,420 Non importa. 90 00:05:31,140 --> 00:05:33,660 E li raggrupperà in un array per noi. 91 00:05:34,110 --> 00:05:37,680 Quindi qui gli ARG saranno un array e posso semplicemente restituirlo. 92 00:05:38,460 --> 00:05:46,800 E ora se lo eseguo con due array che ottengono argomenti, vedete ora ho il mio array con quattro 93 00:05:46,800 --> 00:05:47,760 argomenti qui. 94 00:05:48,270 --> 00:05:51,120 Quindi l'operatore di riposo sembra proprio l'operatore di diffusione. 95 00:05:51,240 --> 00:05:52,080 Punti liberi. 96 00:05:52,350 --> 00:05:55,710 Ed è il luogo in cui lo usi che definisce come lo chiami. 97 00:05:56,400 --> 00:06:02,700 Lo stai usando per estrarre elementi o proprietà da array o oggetti? 98 00:06:03,090 --> 00:06:05,230 Quindi sarebbe l'operatore di diffusione. 99 00:06:06,090 --> 00:06:11,970 Lo stai usando per unire più argomenti in un array? 100 00:06:12,750 --> 00:06:15,480 E lo usi nella lista degli argomenti di una funzione. 101 00:06:15,840 --> 00:06:18,030 Quindi è l'operatore di riposo. 102 00:06:18,480 --> 00:06:22,470 È lo stesso operatore di Syntex o dal punto di vista di Syntex. 103 00:06:22,650 --> 00:06:25,710 Il nome differisce a seconda del luogo in cui lo si utilizza. 104 00:06:26,340 --> 00:06:27,360 Non lo userò. 105 00:06:27,360 --> 00:06:29,850 Alcuni ci vogliono molto in questo corso, ma è comunque bello saperlo. 106 00:06:30,120 --> 00:06:35,780 Ma essendo in grado di estrarre elementi o proprietà, dati, qualcosa che dovresti capire perché papà è un 107 00:06:35,790 --> 00:06:38,640 Syntex, mi vedrai usare un po 'durante il corso.