Słaba mapa w JavaScript – łatwe wprowadzenie

Blog

WeakMap to jedna z najbardziej niedocenianych i najmniej używanych struktur danych w JavaScript. Jest wielu programistów JavaScript, którzy nawet nie wiedzą, że istnieją. Ten samouczek pomoże ci je zrozumieć. Dowiesz się, czym są słabe mapy, jak działają i czym różnią się od map.



Krótkie wprowadzenie do WeakMap

Obie, Mapy a WeakMaps to nowe struktury danych lub kolekcje wprowadzone w [ES6]. Innym przykładem kolekcji jest an szyk . Podobnie jak w przypadku tablicy, zarówno Mapy, jak i WeakMaps umożliwiają przechowywanie danych. W przypadku tych map i słabych map przechowujesz w postaci par klucz-wartość.

Jeśli chcesz uzyskać dostęp do jakiejś wartości przechowywanej w Mapie, wszystko, co musisz zrobić, to użyć poprawnego |_+_|. Działa to również w przypadku słabych map. Jeśli chcesz uzyskać dostęp do jakiejś wartości przechowywanej w WeakMap, musisz również użyć poprawnego |_+_|. Zarówno Mapy, jak i WeakMaps umożliwiają dodawanie nowych par klucz-wartość i usuwanie istniejących.



Co zrobić, jeśli nie jesteś pewien, czy mapa lub słaba mapa zawiera określony klucz? Istnieje metoda, dzięki której możesz szybko sprawdzić, czy klucz istnieje. W tym miejscu Mapy i Słabe Mapy działają w ten sam sposób. Oprócz tych podobieństw istnieje kilka ważnych różnic między tymi dwoma, o których musisz wiedzieć.

Różnice między mapami a słabymi mapami

Pierwszą różnicą między mapami a słabymi mapami jest rodzaj danych, których możesz użyć. W Mapach możesz użyć dowolnego typu danych, którego chcesz utworzyć klucz dla pary klucz-wartość. Dotyczy to również obiektów i funkcji. Nie dotyczy to słabych map. WeakMaps pozwalają tworzyć klucze tylko z obiektami, a nie z żadnym innym typem danych.



Jest to jedna z głównych różnic między mapami a słabymi mapami. Inną ważną różnicą jest to, że wszystkie klucze w WeakMap są słabo przywoływane. Oznacza to, że obiekty używane jako klucz do WeakMap nadal mogą być zbierane. Stanie się tak, gdy znikną wszystkie odniesienia do tych obiektów.

Gdy te obiekty nie są już używane przez jakąkolwiek część programu zbieranie śmieci uwolni je z pamięci. Ważne jest, aby pamiętać, że wyrzucanie elementów bezużytecznych nie spowoduje natychmiastowego zwolnienia tych obiektów z pamięci. Te obiekty zostaną oznaczone tylko do zbierania śmieci.

Dopiero gdy nastąpi kolejny cykl zebranych śmieci, zostaną faktycznie uwolnieni. JavaScript uruchamia te cykle automatycznie. Więc nie musisz się tym martwić. Ostatnią dużą różnicą między mapami a słabymi mapami jest to, że słabe mapy nie są iterowalne. Nie możesz ich iterować za pomocą pętli lub |_+_| tak jak możesz w Mapach.

Oznacza to również, że musisz znać klucz, którego szukasz. Ponieważ mówimy o iterowalności. Słabe Mapy również nie mają żadnych |_+_| własność. Tak więc tak naprawdę nie wiesz, ile par jest w jednej. Wreszcie nie ma |_+_| metoda, która pozwoliłaby usunąć wszystkie dane z WeakMap.

Te różnice są dość ważne i nakładają poważne ograniczenia na to, co możesz zrobić ze słabymi mapami. Nie pozwól jednak, aby to zniechęciło Cię do poznania ich, ponieważ słabe mapy mogą być nadal przydatne. Porozmawiamy o tym wkrótce, ale najpierw przyjrzyjmy się, jak możesz tworzyć słabe mapy i co możesz z nimi zrobić.

#javascript #rozwój #język #programowanie #język programowania #technologia #teoria #web #projektowanie stron www #tworzenie stron www

blog.alexdevero.com

Słaba mapa w JavaScript – łatwe wprowadzenie

WeakMap umożliwia dodawanie dodatkowych danych do obiektu, który należy do kodu innego lub strony trzeciej. Dzięki specjalnej funkcji słabego łącza w WeakMaps możemy upewnić się, że dane związane z tym obcym obiektem będą istniały tylko tak długo, jak obiekt będzie żył.