Ovaj će post objasniti razliku između karte i objekta u JavaScriptu.
Kako definirati objekt u JavaScriptu?
U JavaScriptu objekt je skup svojstava, od kojih svako ima par ključ-vrijednost. ' ključ ' je ' Ime ', i ' vrijednost ” je “vrijednost” u odnosu na ključ. Objekti mogu predstavljati objekte iz stvarnog svijeta, poput automobila, osobe ili bankovnog računa. Također mogu predstavljati apstraktnije objekte, poput matematičke točke u prostoru, boje ili datuma.
Sintaksa
Objekt se može stvoriti korištenjem doslovnog zapisa objekta {} zagrada ili konstruktora objekta. Koristeći doslovnu notaciju ili zagrade, upotrijebite donju sintaksu:
konst objekt = {
ključ : vrijednost,
ključ : vrijednost
}
Stvaranje objekta pomoću konstruktora objekta ili ' novi ”, koristite sljedeću sintaksu:
konst objekt = novi Objekt ( ) ;
objekt. ključ = vrijednost ;
Bilješka: Imajte na umu da ključevi ili nazivi svojstava objekta moraju biti nizovi.
Primjer 1: Stvorite objekt koristeći literalnu notaciju u JavaScriptu
U sljedećem primjeru stvorit ćemo objekt pod nazivom ' stdObject ” koristeći doslovnu notaciju ili zagrade:
var stdObject = {
Ime : 'Ivan' ,
dob : 18 ,
rollno : 25 ,
standard : 9
}
Ispis objekta na konzoli:
konzola. log ( stdObject ) ;Izlaz
Primjer 2: Stvorite objekt pomoću konstruktora objekata u JavaScriptu
Ovdje ćemo stvoriti objekt pomoću konstruktora objekta koristeći ' novi ” ključna riječ:
konst stdObject = novi Objekt ( ) ;Sada dodajte svojstva (ključ-vrijednost) objekata koristeći dot(.) notaciju:
stdObject. Ime = 'jebati' ;stdObject. dob = 19 ;
stdObject. rollno = petnaest ;
stdObject. standard = 10 ;
Na kraju, prikažite objekt na konzoli koristeći ' konzola.log() ” metoda:
konzola. log ( stdObject ) ;Izlaz
Kako definirati kartu u JavaScriptu?
U JavaScriptu, ' Karta ” je podatkovna struktura koja sadrži parove ključ-vrijednost slične objektu. Omogućuje vam povezivanje podataka s ključevima i kasnije dohvaćanje podataka pomoću ključeva. Karte se mogu koristiti za implementaciju rječnika, hash tablica i drugih struktura podataka koje preslikavaju ključeve u vrijednosti.
Sintaksa
Za inicijalizaciju karte koristite sljedeću sintaksu:
konst karta = novi Karta ( [[ 'ključ' , 'vrijednost' ] ,
[ 'ključ' , 'vrijednost' ]
] ) ;
Također možete izraditi kartu pomoću konstruktora karte ili pomoću operatora new i postaviti vrijednosti koristeći ' postaviti () ” metoda:
konst karta = novi Karta ( ) ;karta. postaviti ( 'ključ' , 'vrijednost' ) ;
Primjer: Napravite kartu u JavaScriptu
U navedenom primjeru izradit ćemo kartu koristeći obje sintakse.
Stvorite kartu pomoću metode inicijalizacije. Ovdje ćemo postaviti ključeve kao niz dok možete postaviti ključeve u karti bilo koje vrste:
konst kartaStd = novaMapa ( [[ 'Ime' , 'Ivan' ] ,
[ 'dob' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'standard' , 9 ] ,
] ) ;
Ili izradite kartu pozivanjem konstruktora karte ili nove ključne riječi/operatora:
konst kartaStd = novi Karta ( ) ;Postavite vrijednosti u mapi u paru ključ-vrijednost pomoću ' postaviti () ” metoda:
kartaStd. postaviti ( 'Ime' , 'Ivan' ) ;kartaStd. postaviti ( 'dob' , 18 ) ;
kartaStd. postaviti ( 'rollno' , 25 ) ;
kartaStd. postaviti ( 'standard' , 9 ) ;
Za ispis karte na konzoli koristite ' unosi () ' metoda s ' za-od ' petlja:
za ( konst [ ključ, vrijednost ] od mapStd. unose ( ) ) {konzola. log ( `$ { ključ } : $ { vrijednost } ` ) ;
}
Ili za pristup vrijednosti bilo kojeg specifičnog ključa/svojstva, koristite ' dobiti() ” metoda:
konzola. log ( 'Rollno od' + kartaStd. dobiti ( 'Ime' ) + ' je ' + kartaStd. dobiti ( 'rollno' ) ) ;Izlaz pokazuje sva svojstva karte i vrijednost određenog svojstva:
Karta nasuprot objektu u JavaScriptu
Primarna razlika između karte i objekta je sljedeća:
Karta | Objekt |
Predstavljen je u ECMAScript 6 2015. | JavaScript je uveo tip podataka Object u svojoj prvoj verziji (ECMAScript 1) objavljenoj 1997. |
Karta dopušta ključeve bilo koje vrste podataka (npr. objekte, funkcije, brojeve itd.). | Ključevi objekta moraju biti nizovi. |
Svojstvima karte može se pristupiti korištenjem metode get(). | Svojstvima objekta može se pristupiti korištenjem notacije točka ili notacije uglatih zagrada. |
Karta ima ugrađeno svojstvo veličine za vraćanje broja parova ključ-vrijednost | Objekt nema ovu značajku. |
Karta se može ponavljati. Omogućuje prolazak kroz sve parove ključ-vrijednost pomoću nekih ugrađenih metoda kao što su forEach(), keys(), values() i entries(). | Objekt se ne može ponoviti. Postoji potreba za korištenjem 'za-u' petlji ili metode Object.entries() za ponavljanje parova ključ-vrijednost. |
Karta je naručena. | Objekt je neuređen. |
Kada radite s malim skupovima podataka, razlika u izvedbi između Karti i objekata je zanemariva, ali kada radite s većim skupovima podataka, Karte mogu biti brže jer su optimizirane za performanse.
Kada karta ima prednost nad objektima u JavaScriptu?
Kada trebate pohraniti parove ključ-vrijednost u uređenom obliku ili vrijednost kao ključ može biti bilo koja vrsta podataka, kao što su brojevi, objekti ili simboli, koristite ' Karta ” struktura podataka. Objekti će se koristiti kada trebate koristiti nizove kao ključeve i kada vam nije potrebna nijedna značajka Karti. Razlika u performansama između Karti i objekata zanemariva je pri radu s malim skupovima podataka, ali pri radu s većim skupovima podataka Karte mogu biti brže jer su optimizirane za performanse.
Zaključak
Map i Object koriste se za pohranu podataka kao parova ključ-vrijednost u JavaScriptu, ali imaju neke razlike. Karta je moćnija i fleksibilnija struktura podataka od Objekta i preferirani je izbor kada trebate pohraniti parove ključ-vrijednost koje je potrebno poredati, imati ključeve različitih tipova podataka ili imati svojstvo veličine. Ovaj post objašnjava razliku između karte i objekta u JavaScriptu.