Tento příspěvek vysvětlí rozdíl mezi mapou a objektem v JavaScriptu.
Jak definovat objekt v JavaScriptu?
V JavaScriptu je objekt sbírkou vlastností, z nichž každá má pár klíč–hodnota. ' klíč ' je ' název “ a „ hodnota “ je „hodnota“ proti klíči. Předměty mohou představovat předměty skutečného světa, jako je auto, osoba nebo bankovní účet. Mohou také představovat abstraktnější objekty, jako je matematický bod v prostoru, barva nebo datum.
Syntax
Objekt lze vytvořit pomocí doslovného zápisu objektu {} hranatých závorek nebo pomocí konstruktoru Object. Pomocí doslovného zápisu nebo hranatých závorek použijte níže uvedenou syntaxi:
konst objekt = {
klíč : hodnota,
klíč : hodnota
}
Vytvoření objektu pomocí konstruktoru Object nebo „ Nový “, použijte následující syntaxi:
konst objekt = Nový Objekt ( ) ;
objekt. klíč = hodnota ;
Poznámka: Mějte na paměti, že klíče nebo názvy vlastností objektu musí být řetězec.
Příklad 1: Vytvoření objektu pomocí doslovného zápisu v JavaScriptu
V následujícím příkladu vytvoříme objekt s názvem „ stdObject ” pomocí doslovného zápisu nebo závorek:
var stdObject = {
název : 'John' ,
stáří : 18 ,
rollno : 25 ,
Standard : 9
}
Vytiskněte objekt na konzole:
řídicí panel. log ( stdObject ) ;Výstup
Příklad 2: Vytvoření objektu pomocí objektového konstruktoru v JavaScriptu
Zde vytvoříme objekt pomocí konstruktoru Object s využitím „ Nový klíčové slovo:
konst stdObject = Nový Objekt ( ) ;Nyní přidejte vlastnosti (klíč-hodnota) objektů pomocí notace tečka(.):
stdObject. název = 'kurva' ;stdObject. stáří = 19 ;
stdObject. rollno = patnáct ;
stdObject. Standard = 10 ;
Nakonec zobrazte objekt na konzole pomocí „ console.log() “ metoda:
řídicí panel. log ( stdObject ) ;Výstup
Jak definovat mapu v JavaScriptu?
V JavaScriptu „ Mapa ” je datová struktura, která obsahuje páry klíč–hodnota podobné objektu. Umožňuje vám přiřadit data ke klíčům a později je načíst pomocí klíčů. Mapy lze využít k implementaci slovníků, hashovacích tabulek a dalších datových struktur, které mapují klíče na hodnoty.
Syntax
K inicializaci mapy použijte následující syntaxi:
konst mapa = Nový Mapa ( [[ 'klíč' , 'hodnota' ] ,
[ 'klíč' , 'hodnota' ]
] ) ;
Mapu můžete také vytvořit pomocí konstruktoru mapy nebo pomocí operátoru new a nastavit hodnoty pomocí „ soubor() “ metoda:
konst mapa = Nový Mapa ( ) ;mapa. soubor ( 'klíč' , 'hodnota' ) ;
Příklad: Vytvořte mapu v JavaScriptu
V uvedeném příkladu vytvoříme mapu pomocí obou syntaxí.
Vytvořte mapu pomocí inicializační metody. Zde nastavíme klíče jako řetězec, zatímco klíče v mapě můžete nastavit v jakémkoli typu:
konst mapStd = nová mapa ( [[ 'název' , 'John' ] ,
[ 'stáří' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'Standard' , 9 ] ,
] ) ;
Nebo vytvořte mapu voláním konstruktoru mapy nebo nového klíčového slova/operátoru:
konst mapStd = Nový Mapa ( ) ;Nastavte hodnoty na mapě v páru klíč–hodnota pomocí „ soubor() “ metoda:
mapStd. soubor ( 'název' , 'John' ) ;mapStd. soubor ( 'stáří' , 18 ) ;
mapStd. soubor ( 'rollno' , 25 ) ;
mapStd. soubor ( 'Standard' , 9 ) ;
Chcete-li vytisknout mapu na konzole, použijte „ záznamy() “ metoda s “ pro-z “smyčka:
pro ( konst [ klíč, hodnota ] of mapStd. záznamy ( ) ) {řídicí panel. log ( `$ { klíč } : $ { hodnota } ' ) ;
}
Nebo pro přístup k hodnotě jakéhokoli konkrétního klíče/vlastnosti použijte „ dostat() “ metoda:
řídicí panel. log ( 'Rollno' + mapStd. dostat ( 'název' ) + ' je ' + mapStd. dostat ( 'rollno' ) ) ;Výstup označuje všechny vlastnosti mapy a hodnotu konkrétní vlastnosti:
Mapa vs objekt v JavaScriptu
Primární rozdíl mezi mapou a objektem je následující:
Mapa | Objekt |
To bylo představeno v ECMAScript 6 v roce 2015. | JavaScript zavedl datový typ Object ve své první verzi (ECMAScript 1) vydané v roce 1997. |
Mapa umožňuje klíče jakéhokoli datového typu (např. objekty, funkce, čísla atd.). | Klíče objektu musí být řetězce. |
K vlastnostem mapy lze přistupovat pomocí metody get(). | Vlastnosti objektu jsou přístupné pomocí tečkové notace nebo hranaté závorky. |
Mapa má vestavěnou vlastnost size, která vrací počet párů klíč–hodnota | Objekt tuto funkci nemá. |
Mapa je iterovatelná. Umožňuje procházet všechny páry klíč–hodnota pomocí některých vestavěných metod, jako je forEach(), keys(), values() a entries(). | Objekt není iterovatelný. Pro iteraci párů klíč-hodnota je potřeba použít smyčky „for-in“ nebo metodu Object.entries(). |
Mapa je objednána. | Objekt je neuspořádaný. |
Při práci s malými soubory dat je rozdíl ve výkonu mezi mapami a objekty zanedbatelný, ale při práci s většími soubory dat mohou být Mapy rychlejší, protože jsou optimalizovány pro výkon.
Kdy dává mapa přednost před objekty v JavaScriptu?
Pokud potřebujete uložit páry klíč–hodnota v uspořádané podobě nebo hodnotu jako klíč jakéhokoli datového typu, jako jsou čísla, objekty nebo symboly, použijte „ Mapa ' datová struktura. Objekty se použijí, když potřebujete použít řetězce jako klíče a když nepotřebujete žádnou z funkcí Map. Rozdíl ve výkonu mezi mapami a objekty je zanedbatelný při práci s malými soubory dat, ale při práci s většími soubory dat mohou být Mapy rychlejší, protože jsou optimalizovány pro výkon.
Závěr
Mapa a Objekt se používají k ukládání dat jako párů klíč-hodnota v JavaScriptu, ale mají určité rozdíly. Mapa je výkonnější a flexibilnější datová struktura než Object a je preferovanou volbou, když potřebujete uložit páry klíč–hodnota, které je třeba objednat, mají klíče různých datových typů nebo mají vlastnost size. Tento příspěvek vysvětlil rozdíl mezi mapou a objektem v JavaScriptu.