Karta vs objekt i JavaScript

Karta Vs Objekt I Javascript



' Karta ' och ' Objekt ” är två vanliga datastrukturer i JavaScript som används för att lagra nyckel-värdepar. En karta används när du behöver en datastruktur som kan lagra vilken datatyp som helst som nyckel eller värde och behöver en ordnad samling nyckel-värdepar. While Object används när du bara behöver lagra strängnycklar.

Det här inlägget kommer att förklara skillnaden mellan karta och objekt i JavaScript.

Hur definierar man ett objekt i JavaScript?

I JavaScript är ett objekt en samling egenskaper, var och en med ett nyckel-värdepar. den ' nyckel ' är ' namn ', och en ' värde ” är ”värdet” mot nyckeln. Objekt kan representera verkliga objekt, som en bil, en person eller ett bankkonto. De kan också representera mer abstrakta objekt, som en matematisk punkt i rymden, en färg eller ett datum.







Syntax



Ett objekt kan skapas med hjälp av bokstavlig objektnotation {} parenteser eller objektkonstruktorn. Använd den bokstavliga notationen eller parenteserna, använd syntaxen nedan:



konst objekt = {
nyckel : värde,
nyckel : värde
}

Skapa ett objekt med hjälp av objektkonstruktorn eller ' ny ' nyckelord, använd följande syntax:





konst objekt = ny Objekt ( ) ;

objekt. nyckel = värde ;

Notera: Tänk på att nycklarna eller namnen på objektegenskaperna måste vara en sträng.

Exempel 1: Skapa ett objekt med hjälp av bokstavlig notation i JavaScript

I följande exempel kommer vi att skapa ett objekt som heter ' stdObject ' med hjälp av bokstavlig notation eller parentes:



var stdObject = {
namn : 'John' ,
ålder : 18 ,
rollno : 25 ,
standard : 9
}

Skriv ut objektet på konsolen:

trösta. logga ( stdObject ) ;

Produktion

Exempel 2: Skapa ett objekt med hjälp av Object Constructor i JavaScript

Här kommer vi att skapa ett objekt med hjälp av objektkonstruktorn med hjälp av ' ny ' nyckelord:

konst stdObject = ny Objekt ( ) ;

Lägg nu till egenskaperna (nyckel-värde) för objekt med hjälp av dot(.) notationen:

stdObject. namn = 'knulla' ;

stdObject. ålder = 19 ;

stdObject. rollno = femton ;

stdObject. standard = 10 ;

Till sist, visa objektet på konsolen med hjälp av ' console.log() ' metod:

trösta. logga ( stdObject ) ;

Produktion

Hur definierar man karta i JavaScript?

I JavaScript, en ' Karta ” är en datastruktur som innehåller nyckel-värdepar som liknar ett objekt. Det låter dig associera data med nycklar och hämta data senare med hjälp av nycklarna. Kartor kan användas för att implementera ordböcker, hashtabeller och andra datastrukturer som mappar nycklar till värden.

Syntax

Använd följande syntax för att initiera en karta:

konst Karta = ny Karta ( [

[ 'nyckel' , 'värde' ] ,

[ 'nyckel' , 'värde' ]

] ) ;

Du kan också skapa en karta med kartkonstruktorn eller genom att använda den nya operatorn och ställa in värden med hjälp av ' uppsättning() ' metod:

konst Karta = ny Karta ( ) ;

Karta. uppsättning ( 'nyckel' , 'värde' ) ;

Exempel: Skapa en karta i JavaScript

I det givna exemplet kommer vi att skapa en karta med båda syntaxerna.

Skapa en karta med initieringsmetoden. Här kommer vi att ställa in nycklar som en sträng medan du kan ställa in nycklar i en karta av vilken typ som helst:

konst mapStd = ny Karta ( [
[ 'namn' , 'John' ] ,
[ 'ålder' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'standard' , 9 ] ,
] ) ;

Eller skapa en karta genom att anropa kartkonstruktören eller det nya nyckelordet/operatorn:

konst mapStd = ny Karta ( ) ;

Ställ in värden i Map i ett nyckel-värdepar med hjälp av ' uppsättning() ' metod:

mapStd. uppsättning ( 'namn' , 'John' ) ;

mapStd. uppsättning ( 'ålder' , 18 ) ;

mapStd. uppsättning ( 'rollno' , 25 ) ;

mapStd. uppsättning ( 'standard' , 9 ) ;

För att skriva ut kartan på konsolen, använd ' poster() '-metoden med ' för av ” loop:

för ( konst [ nyckelvärde ] av mapStd. poster ( ) ) {

trösta. logga ( `$ { nyckel } : $ { värde } ` ) ;

}

Eller för att komma åt värdet av någon specifik nyckel/egenskap, använd ' skaffa sig() ' metod:

trösta. logga ( 'The rollno of' + mapStd. skaffa sig ( 'namn' ) + ' är ' + mapStd. skaffa sig ( 'rollno' ) ) ;

Utdata indikerar alla egenskaper på kartan och värdet på den specifika egenskapen:

Karta vs objekt i JavaScript

Den primära skillnaden mellan kartan och objektet är följande:

Karta Objekt
Det introducerades i ECMAScript 6 2015. JavaScript introducerade objektdatatypen i sin första version (ECMAScript 1) som släpptes 1997.
Map tillåter nycklar av vilken datatyp som helst (t.ex. objekt, funktioner, siffror, etc.). Objektnycklar måste vara strängar.
Egenskaperna för en karta kan nås med metoden get(). Objektegenskaper kan nås med hjälp av punktnotation eller notation med hakparenteser.
Kartan har en inbyggd storleksegenskap för att returnera antalet nyckel-värdepar Objektet har inte denna funktion.
Kartan är iterabel. Det tillåter looping genom alla nyckel-värdepar med hjälp av vissa inbyggda metoder som forEach(), keys(), values() och entries(). Objektet är inte iterbart. Det finns ett behov av att använda 'for-in'-loopar eller Object.entries()-metoden för att iterera nyckel-värdepar.
Karta är beställd. Objektet är oordnat.

När man arbetar med små datamängder är prestandaskillnaden mellan kartor och objekt försumbar, men när man arbetar med större datamängder kan Maps vara snabbare eftersom de är optimerade för prestanda.

När föredrar karta framför objekt i JavaScript?

När du behöver lagra nyckel-värdepar i en ordnad form eller värdet som en nyckel vara vilken datatyp som helst, som siffror, objekt eller symboler, använd ' Karta ' datastruktur. Objekt kommer att användas när du behöver använda strängar som nycklar och när du inte behöver någon av funktionerna i Maps. Prestandaskillnaden mellan kartor och objekt är försumbar när man arbetar med små datamängder, men när man arbetar med större datamängder kan Maps vara snabbare eftersom de är optimerade för prestanda.

Slutsats

Karta och objekt används båda för att lagra data som nyckel-värdepar i JavaScript, men de har vissa skillnader. Map är en mer kraftfull och flexibel datastruktur än Object, och är det föredragna valet när du behöver lagra nyckel-värdepar som behöver beställas, ha nycklar av olika datatyper eller ha en storleksegenskap. Det här inlägget förklarade skillnaden mellan karta och objekt i JavaScript.