Ten post wyjaśni różnicę między mapą a obiektem w JavaScript.
Jak zdefiniować obiekt w JavaScript?
W JavaScript obiekt to zbiór właściwości, każda z parą kluczową wartością. „„klucz" jest "nazwa”I„wartość”To„ wartość ”w stosunku do klucza. Obiekty mogą reprezentować obiekty w świecie rzeczywistym, takie jak samochód, osoba lub konto bankowe. Mogą również reprezentować więcej abstrakcyjnych obiektów, takich jak punkt matematyczny w przestrzeni, kolor lub data.
Składnia
Obiekt można utworzyć za pomocą dosłownych notacji obiektu lub konstruktora obiektu. Korzystając z dosłownej notacji lub nawiasów, użyj składni poniżej:
const obiekt =Tworzenie obiektu za pomocą konstruktora obiektu lub „nowy„Słowo kluczowe, użyj następującej składni:
const obiekt = new Obiekt ();Notatka: Pamiętaj, że klucze lub nazwy właściwości obiektu muszą być ciągiem.
Przykład 1: Utwórz obiekt za pomocą literalnej notacji w JavaScript
W poniższym przykładzie utworzymy obiekt o nazwie „stdobject„Korzystanie z dosłownych notacji lub nawiasów:
var stdobject =Wydrukuj obiekt na konsoli:
konsola.log (stdobject);Wyjście
Przykład 2: Utwórz obiekt za pomocą konstruktora obiektu w JavaScript
Tutaj utworzymy obiekt za pomocą konstruktora obiektu przy użyciu „nowy”Słowo kluczowe:
const stdobject = new Object ();Teraz dodaj właściwości (wartość klucza) obiektów za pomocą kropki (.) notacja:
stdobject.name = „jodan”;Na koniec wyświetl obiekt na konsoli za pomocą „konsola.dziennik()" metoda:
konsola.log (stdobject);Wyjście
Jak zdefiniować mapę w JavaScript?
W JavaScript, „Mapa”To struktura danych, która przechowuje pary wartości kluczowej podobne do obiektu. Umożliwia kojarzenie danych z klawiszami i pobieranie danych później za pomocą klawiszy. Mapy można wykorzystać do wdrażania słowników, tabel skrótów i innych struktur danych, które mapują klucze na wartości.
Składnia
Aby zainicjować mapę, użyj następującej składni:
const map = nowa mapa ([[Możesz także utworzyć mapę za pomocą konstruktora mapy lub za pomocą nowego operatora i ustawić wartości za pomocą „ustawić()" metoda:
const map = new map ();Przykład: Utwórz mapę w JavaScript
W danym przykładzie utworzymy mapę za pomocą obu składni.
Utwórz mapę za pomocą metody inicjalizacji. Tutaj ustawymy klucze jako ciąg, podczas gdy możesz ustawić klucze na mapie w dowolnym typu:
const mapstd = newMap ([Lub utwórz mapę, wywołując konstruktor mapy lub nowe słowo kluczowe/operator:
const mapstd = new map ();Ustaw wartości na mapie w parie wartości kluczowej za pomocą „ustawić()" metoda:
MAPSTD.set („nazwa”, „John”);Aby wydrukować mapę na konsoli, użyj „wpisy ()„Metoda z„dla" pętla:
dla (const [klucz, wartość] mapstd.wpisy ())Lub w celu uzyskania dostępu do wartości dowolnego konkretnego klucza/właściwości, użyj „Dostawać()" metoda:
konsola.Log („The Rollno of” + MAPSTD.get („Nazwa”) + „is” + mapstd.Get („Rollno”));Wyjście wskazuje wszystkie właściwości mapy i wartość określonej właściwości:
Mapa vs obiekt w JavaScript
Podstawowa różnica między mapą a obiektem jest następująca:
Mapa | Obiekt |
Został wprowadzony w EcMascript 6 w 2015 roku. | JavaScript wprowadził typ danych obiektu w swojej pierwszej wersji (ECMAScript 1) wydany w 1997 roku. |
Mapa umożliwia klucze dowolnego typu danych (e.G., Obiekty, funkcje, liczby itp.). | Klucze obiektów muszą być ciągami. |
Dostęp do właściwości mapy można uzyskać za pomocą metody get (). | Dostęp do właściwości obiektów można uzyskać za pomocą zapisu kropki lub notacji nawigacji kwadratowej. |
Mapa ma właściwość wbudowanego rozmiaru, aby zwrócić liczbę par kluczowych | Obiekt nie ma tej funkcji. |
Mapa jest iteralna. Umożliwia zapętlanie wszystkich par kluczowych przy użyciu niektórych wbudowanych metod, takich jak foreach (), keys (), wartości () i wpisów (). | Obiekt nie jest iteralny. Istnieje potrzeba użycia pętli lub obiektu „for-in”.Metoda wpisów () do iteracji par kluczowych. |
Mapa jest zamówiona. | Obiekt jest nieuporządkowany. |
Podczas pracy z małymi zestawami danych różnica wydajności między mapami a obiektami jest nieistotna, ale podczas pracy z większymi zestawami danych mapy mogą być szybsze, ponieważ są one zoptymalizowane pod kątem wydajności.
Kiedy mapa preferuje obiekty w JavaScript?
Gdy musisz przechowywać parę wartości kluczowej w zamówionym formularzu lub wartości jako klucza, być dowolnym typem danych, takim jak liczby, obiekty lub symbole, użyj „Mapa" struktura danych. Obiekty będą używane, gdy będziesz musiał używać ciągów jako kluczy, a kiedy nie potrzebujesz żadnej funkcji map. Różnica wydajności między mapami a obiektami jest nieistotna podczas pracy z małymi zestawami danych, ale podczas pracy z większymi zestawami danych mapy mogą być szybsze, ponieważ są one zoptymalizowane pod kątem wydajności.
Wniosek
Zarówno mapa, jak i obiekt są używane do przechowywania danych jako pary wartości kluczowej w JavaScript, ale mają pewne różnice. Mapa jest mocniejszą i elastyczną strukturą danych niż obiekt i jest preferowanym wyborem, gdy trzeba przechowywać pary wartości kluczowej, które należy zamówić, mieć klucze różnych typów danych lub mieć właściwość rozmiaru. Ten post wyjaśnił różnicę między mapą a obiektem w JavaScript.