Tento príspevok vysvetlí rozdiel medzi mapou a objektom v JavaScripte.
Ako definovať objekt v JavaScripte?
V JavaScripte je objekt kolekciou vlastností, z ktorých každá má pár kľúč – hodnota. ' kľúč ' je ' názov “ a „ hodnotu “ je „hodnota“ voči kľúču. Objekty môžu predstavovať objekty skutočného sveta, ako napríklad auto, osobu alebo bankový účet. Môžu tiež predstavovať abstraktnejšie objekty, ako je matematický bod v priestore, farba alebo dátum.
Syntax
Objekt možno vytvoriť pomocou doslovného zápisu objektu {} zátvoriek alebo pomocou konštruktora objektu. Pomocou doslovného zápisu alebo zátvoriek použite nižšie uvedenú syntax:
konšt objekt = {
kľúč : hodnota,
kľúč : hodnotu
}
Vytvorenie objektu pomocou konštruktora objektu alebo „ Nový “, použite nasledujúcu syntax:
konšt objekt = Nový Objekt ( ) ;
objekt. kľúč = hodnotu ;
Poznámka: Majte na pamäti, že kľúče alebo názvy vlastností objektu musia byť reťazce.
Príklad 1: Vytvorte objekt pomocou doslovného zápisu v JavaScripte
V nasledujúcom príklade vytvoríme objekt s názvom „ stdObject “ pomocou doslovného zápisu alebo zátvoriek:
var stdObject = {
názov : 'John' ,
Vek : 18 ,
rollno : 25 ,
štandardné : 9
}
Vytlačte objekt na konzole:
konzoly. log ( stdObject ) ;Výkon
Príklad 2: Vytvorte objekt pomocou konštruktora objektov v JavaScripte
Tu vytvoríme objekt pomocou konštruktora Object s použitím „ Nový ” kľúčové slovo:
konšt stdObject = Nový Objekt ( ) ;Teraz pridajte vlastnosti (kľúč-hodnota) objektov pomocou notácie bodka (.):
stdObject. názov = 'kurva' ;stdObject. Vek = 19 ;
stdObject. rollno = pätnásť ;
stdObject. štandardné = 10 ;
Nakoniec zobrazte objekt na konzole pomocou „ console.log() “ metóda:
konzoly. log ( stdObject ) ;Výkon
Ako definovať mapu v JavaScripte?
V JavaScripte je „ Mapa ” je dátová štruktúra, ktorá obsahuje páry kľúč – hodnota podobné objektu. Umožňuje vám priradiť údaje ku kľúčom a neskôr ich získať pomocou kľúčov. Mapy možno použiť na implementáciu slovníkov, hašovacích tabuliek a iných dátových štruktúr, ktoré mapujú kľúče na hodnoty.
Syntax
Na inicializáciu mapy použite nasledujúcu syntax:
konšt mapa = Nový Mapa ( [[ 'kľúč' , 'value' ] ,
[ 'kľúč' , 'value' ]
] ) ;
Mapu môžete vytvoriť aj pomocou konštruktora mapy alebo pomocou operátora new a nastaviť hodnoty pomocou „ set() “ metóda:
konšt mapa = Nový Mapa ( ) ;mapa. nastaviť ( 'kľúč' , 'value' ) ;
Príklad: Vytvorte mapu v JavaScripte
V uvedenom príklade vytvoríme mapu pomocou oboch syntaxí.
Vytvorte mapu pomocou inicializačnej metódy. Tu nastavíme kľúče ako reťazec, zatiaľ čo kľúče na mape môžete nastaviť v akomkoľvek type:
konšt mapStd = nová mapa ( [[ 'názov' , 'John' ] ,
[ 'Vek' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'štandard' , 9 ] ,
] ) ;
Alebo vytvorte mapu volaním konštruktora mapy alebo nového kľúčového slova/operátora:
konšt mapStd = Nový Mapa ( ) ;Nastavte hodnoty na mape v páre kľúč – hodnota pomocou „ set() “ metóda:
mapStd. nastaviť ( 'názov' , 'John' ) ;mapStd. nastaviť ( 'Vek' , 18 ) ;
mapStd. nastaviť ( 'rollno' , 25 ) ;
mapStd. nastaviť ( 'štandard' , 9 ) ;
Ak chcete vytlačiť mapu na konzole, použite „ záznamy() “ metóda s “ pre-z ” slučka:
pre ( konšt [ kľúč, hodnota ] of mapStd. záznamy ( ) ) {konzoly. log ( `$ { kľúč } : $ { hodnotu } ` ) ;
}
Alebo pre prístup k hodnote akéhokoľvek konkrétneho kľúča/vlastnosti použite „ dostať () “ metóda:
konzoly. log ( 'Rollno' + mapStd. dostať ( 'názov' ) + ' je ' + mapStd. dostať ( 'rollno' ) ) ;Výstup označuje všetky vlastnosti mapy a hodnotu konkrétnej vlastnosti:
Mapa vs objekt v JavaScripte
Hlavný rozdiel medzi mapou a objektom je nasledovný:
Mapa | Objekt |
Bol predstavený v ECMAScript 6 v roku 2015. | JavaScript zaviedol dátový typ Object vo svojej prvej verzii (ECMAScript 1) vydanej v roku 1997. |
Mapa umožňuje kľúče akéhokoľvek typu údajov (napr. objekty, funkcie, čísla atď.). | Kľúče objektu musia byť reťazce. |
K vlastnostiam mapy je možné pristupovať pomocou metódy get(). | K vlastnostiam objektu je možné pristupovať pomocou bodkovej notácie alebo hranatej zátvorky. |
Mapa má vstavanú vlastnosť size na vrátenie počtu párov kľúč – hodnota | Objekt túto funkciu nemá. |
Mapa je iterovateľná. Umožňuje prechádzať všetky páry kľúč-hodnota pomocou niektorých vstavaných metód, ako napríklad forEach(), keys(), values() a entries(). | Objekt nie je iterovateľný. Na iteráciu párov kľúč – hodnota je potrebné použiť cykly „for-in“ alebo metódu Object.entries(). |
Mapa je objednaná. | Objekt nie je usporiadaný. |
Pri práci s malými súbormi údajov je rozdiel vo výkone medzi Mapami a objektmi zanedbateľný, ale pri práci s väčšími súbormi údajov môžu byť Mapy rýchlejšie, pretože sú optimalizované na výkon.
Kedy má mapa prednosť pred objektmi v JavaScripte?
Ak potrebujete uložiť páry kľúč-hodnota v usporiadanej forme alebo hodnotu ako kľúč ľubovoľného dátového typu, ako sú čísla, objekty alebo symboly, použite „ Mapa ' dátová štruktúra. Objekty sa použijú, keď potrebujete použiť reťazce ako kľúče a keď nepotrebujete žiadnu z funkcií Máp. Rozdiel vo výkone medzi mapami a objektmi je zanedbateľný pri práci s malými súbormi údajov, ale pri práci s väčšími súbormi údajov môžu byť Mapy rýchlejšie, pretože sú optimalizované na výkon.
Záver
Mapa aj objekt sa používajú na ukladanie údajov ako párov kľúč-hodnota v JavaScripte, ale majú určité rozdiely. Mapa je výkonnejšia a flexibilnejšia dátová štruktúra ako Object a je preferovanou voľbou, keď potrebujete uložiť páry kľúč – hodnota, ktoré je potrebné objednať, majú kľúče rôznych typov údajov alebo majú vlastnosť size. Tento príspevok vysvetlil rozdiel medzi mapou a objektom v JavaScripte.