We współczesnym JavaScript jest dwóch ważnych operatorów, o których powinieneś również wiedzieć, ponieważ wszyscy używają ich
również podczas kursu.
I mają odpoczywać i się rozprzestrzeniać.
Operatorzy wiedzą, że konkretnie operator rozprzestrzeniania jest tym, którego będziemy używać dość często.
Powiedzmy, że chcemy wdrożyć wzorzec, w którym dodając nowe hobby, nie edytujemy oryginalnej tablicy,
ale tworzymy nową tablicę ze wszystkimi starymi wartościami.
Nowa wartość jest w rzeczywistości dość powszechnym wzorcem zwanym niezmiennością, w którym nigdy nie
dodawaliśmy istniejących wartości, ale zawsze zastępujemy je kopiami.
Plus zmiany.
I to wszystko jest wzorem.
Wykorzystam sporo podczas kursu.
Chodzi o to, że unikamy błędów, ponieważ zawsze mamy to jasne podejście do kopiowania.
Następnie dodaj go i nie edytuj istniejących obiektów, co może prowadzić do bardziej nieczytelnego kodu.
Teraz, aby skopiować tablicę.
Powiedzmy, że tutaj tworzę tablicę Kopit.
Mamy kilka możliwych technik.
Jednym z nich jest użycie operatora do krojenia.
Teraz, gdy wysyłam tam skopiowane tablice i uruchamiam węzeł, gram w szachy, widzę sport i gotowanie.
Więc rzeczywiście to skopiowałem.
Plasterek po prostu kopiuje tablicę.
Możemy przekazywać argumenty w celu zawężenia zakresu elementów, które chcemy skopiować bez argumentów.
Kopiujemy całą tablicę.
Teraz zamiast plasterka istnieje również inna technika.
Możemy stworzyć nową tablicę z nawiasami kwadratowymi i możemy dodać spojrzenie Hobbiego.
Dobrze?
Co się stanie, jeśli to wykonamy?
Co zobaczymy w konsoli?
Cóż, jeśli wcisnę Enter, zobaczymy.
Cóż, wygląda na kopię na pierwszy rzut oka, ale w rzeczywistości jest to tablica bez tablicy.
Zewnętrzna tablica ma tylko jeden element.
I to jest wewnętrzna tablica.
Więc to nie jest kopia.
To tylko nowa tablica, w której pierwszym elementem jest stara tablica.
I przez to mam na myśli dokładnie ten sam przedmiot.
Nie kopia tego.
Właśnie stworzyliśmy.
Zagnieżdżona tablica tutaj.
To oczywiście nie było to, co chcieliśmy tutaj zrobić.
I tutaj możemy użyć operatora rozkładania, operator rozkładania to wolne kropki.
Możemy dodać przed tablicą lub obiektem.
A te wolne kropki są operatorami tak samo jak plus lub minus R.
I robią jedną rzecz.
Biorą tablicę lub obiekt za operatorem i wyciągają wszystkie elementy lub właściwości.
Więc wszystkie elementy tablicy lub wszystkie właściwości obiektu i umieść to na tym, co jest wokół spreadu
zadłużenia.
Operator W tym przypadku mamy wokół siebie nawiasy kwadratowe.
Operator A zatem wszystkie elementy wyciągnięte z istniejącej tablicy są dodawane do nowej
tablicy.
A zatem, jeśli teraz uruchomię tę jesień ponownie, płaczę i zapisuję ją przed ponownym uruchomieniem.
Teraz widzimy, że był to wynik starego podejścia, zagnieżdżonej tablicy.
Teraz nie mamy już zagnieżdżonej tablicy.
Mamy jedną tablicę.
To jest teraz kopia starego, ponieważ bierzemy tych operatorów rozkładania, aby wyciągali te elementy i dodawali
je jeden po drugim do nowej tablicy.
To jest coś, co zobaczysz.
Robimy dużo, aby skopiować istniejące tablice lub obiekty.
Sterrett działałby w ten sam sposób.
Możemy skopiować naszą osobę za pomocą nawiasów klamrowych.
Następnie operator rozkładania, darmowe kropki, a następnie stara osoba.
A teraz, jeśli konsola zablokowała tutaj skopiowaną osobę.
I ponownie wykonuję ten upadek.
To jest nasza osoba Kopit tutaj, ponieważ wyciągam wszystkie te elementy z tego obiektu i dodam go
do nowego obiektu.
To działa zarówno na obiekty, jak i tablice.
I to jest Syntex.
Użyję sporo w tym kursie.
Teraz to się rozprzestrzenia.
Operator, wspomniałem również o operatorze reszty, a operator reszty jest zasadniczo odwrotny.
Powiedzmy, że mam funkcję, którą nazwiemy dwiema tablicami.
To funkcja strzałki.
I spodziewam się, że argumenty są wolne od łuku.
Chcę zwrócić tablicę zawierającą te argumenty.
Gibson wydał tutaj znak równości.
Kiedy więc zwracam tablicę zawierającą te argumenty, mogę oczywiście zwrócić nawiasy kwadratowe.
A potem pierwszym elementem będzie AAG.
Potem mam ARC dwa to drugi element, a łuk wolny jest pierwszym elementem.
Teraz mogę konsolować blokadę do tablicy i przekazuję jeden, dwa i trzy jako wolne argumenty dla tej funkcji.
Jeśli teraz wykonam grę w szachy, zobaczymy tablicę z jednym, dwoma i trzema D trzema elementami.
To działa, ale nie jest to całkowicie elastyczne.
Co jeśli chcemy przekazać argumenty?
Możemy to tak nazwać.
JavaScript faktycznie na to pozwala.
Ale oczywiście nie dodaje się go, ponieważ pracujemy tylko z darmowymi argumentami.
Moglibyśmy zrobić, moglibyśmy użyć tak zwanego operatora spoczynkowego, kochanie.
Kropka kropka kropka.
A potem po prostu pyta.
I to właściwie zajmie wszystkie argumenty.
Ile możemy określić.
To nie ma znaczenia
I połączy je dla nas w tablicy.
Więc tutaj ARG będzie tablicą i mogę ją po prostu zwrócić.
A teraz, jeśli wykonam to z dwiema tablicami pobierającymi argumenty, to teraz widzę, że mam moją tablicę z
czterema argumentami.
Tak więc operator reszty wygląda jak operator rozkładania.
Darmowe kropki.
I to miejsce, w którym go używasz, określa, jak go nazwiesz.
Czy używasz go do wyciągania elementów lub właściwości z tablic lub obiektów?
Wtedy byłby to operator rozprzestrzeniania.
Czy używasz go do łączenia wielu argumentów w tablicę?
I używasz go na liście argumentów funkcji.
To jest operator reszty.
Jest to ten sam operator przez Syntex lub z perspektywy Syntex.
Nazwa różni się w zależności od miejsca, w którym ją używasz.
Nie użyję tego.
Niektórzy biorą dużo na tym kursie, ale nadal dobrze jest wiedzieć.
Ale będąc w stanie wyciągać elementy lub właściwości, dane, co powinieneś zrozumieć, ponieważ tata jest synteksem,
zobaczysz, że używam całkiem sporo podczas całego kursu.