Χάρτης έναντι αντικειμένου σε JavaScript

Chartes Enanti Antikeimenou Se Javascript



' Χάρτης ' και ' Αντικείμενο ” είναι δύο κοινές δομές δεδομένων στο JavaScript που χρησιμοποιούνται για την αποθήκευση ζευγών κλειδιών-τιμών. Ένας χάρτης χρησιμοποιείται όταν χρειάζεστε μια δομή δεδομένων που μπορεί να αποθηκεύσει οποιονδήποτε τύπο δεδομένων ως κλειδί ή τιμή και χρειάζεστε μια διατεταγμένη συλλογή ζευγών κλειδιών-τιμών. Ενώ το αντικείμενο χρησιμοποιείται όταν χρειάζεται να αποθηκεύσετε μόνο κλειδιά συμβολοσειράς.

Αυτή η ανάρτηση θα εξηγήσει τη διαφορά μεταξύ χάρτη και αντικειμένου στο JavaScript.

Πώς να ορίσετε ένα αντικείμενο σε JavaScript;

Στο JavaScript, ένα αντικείμενο είναι μια συλλογή ιδιοτήτων, καθεμία με ένα ζεύγος κλειδιού-τιμής. Ο ' κλειδί ' είναι το ' όνομα ', και ένα ' αξία » είναι η «τιμή» έναντι του κλειδιού. Τα αντικείμενα μπορούν να αντιπροσωπεύουν αντικείμενα του πραγματικού κόσμου, όπως ένα αυτοκίνητο, ένα άτομο ή έναν τραπεζικό λογαριασμό. Μπορούν επίσης να αντιπροσωπεύουν πιο αφηρημένα αντικείμενα, όπως ένα μαθηματικό σημείο στο χώρο, ένα χρώμα ή μια ημερομηνία.







Σύνταξη



Ένα αντικείμενο μπορεί να δημιουργηθεί χρησιμοποιώντας αγκύλες κυριολεκτικού συμβολισμού αντικειμένου {} ή τον κατασκευαστή αντικειμένου. Χρησιμοποιώντας τον κυριολεκτικό συμβολισμό ή τις αγκύλες, χρησιμοποιήστε την παρακάτω σύνταξη:



συνθ αντικείμενο = {
κλειδί : αξία,
κλειδί : αξία
}

Δημιουργία αντικειμένου χρησιμοποιώντας τον κατασκευαστή αντικειμένου ή το ' νέος λέξη-κλειδί, χρησιμοποιήστε την ακόλουθη σύνταξη:





συνθ αντικείμενο = νέος Αντικείμενο ( ) ;

αντικείμενο. κλειδί = αξία ;

Σημείωση: Λάβετε υπόψη ότι τα κλειδιά ή τα ονόματα των ιδιοτήτων των αντικειμένων πρέπει να είναι μια συμβολοσειρά.

Παράδειγμα 1: Δημιουργήστε ένα αντικείμενο χρησιμοποιώντας κυριολεκτικό συμβολισμό σε JavaScript

Στο παρακάτω παράδειγμα, θα δημιουργήσουμε ένα αντικείμενο που ονομάζεται ' stdΑντικείμενο ” χρησιμοποιώντας κυριολεκτικό συμβολισμό ή αγκύλες:



var stdObject = {
όνομα : 'Γιάννης' ,
ηλικία : 18 ,
rollno : 25 ,
πρότυπο : 9
}

Εκτυπώστε το αντικείμενο στην κονσόλα:

κονσόλα. κούτσουρο ( stdΑντικείμενο ) ;

Παραγωγή

Παράδειγμα 2: Δημιουργήστε ένα αντικείμενο χρησιμοποιώντας το εργαλείο κατασκευής αντικειμένων σε JavaScript

Εδώ, θα δημιουργήσουμε ένα αντικείμενο χρησιμοποιώντας τον κατασκευαστή Object χρησιμοποιώντας το ' νέος » λέξη-κλειδί:

συνθ stdΑντικείμενο = νέος Αντικείμενο ( ) ;

Τώρα, προσθέστε τις ιδιότητες (κλειδί-τιμή) των αντικειμένων χρησιμοποιώντας τον συμβολισμό dot(.):

stdΑντικείμενο. όνομα = 'γαμώ' ;

stdΑντικείμενο. ηλικία = 19 ;

stdΑντικείμενο. rollno = δεκαπέντε ;

stdΑντικείμενο. πρότυπο = 10 ;

Τέλος, εμφανίστε το αντικείμενο στην κονσόλα χρησιμοποιώντας το ' console.log() 'μέθοδος:

κονσόλα. κούτσουρο ( stdΑντικείμενο ) ;

Παραγωγή

Πώς να ορίσετε τον χάρτη σε JavaScript;

Στο JavaScript, ένα ' Χάρτης ” είναι μια δομή δεδομένων που κρατά ζεύγη κλειδιών-τιμών παρόμοια με ένα αντικείμενο. Σας επιτρέπει να συσχετίσετε δεδομένα με κλειδιά και να ανακτήσετε τα δεδομένα αργότερα χρησιμοποιώντας τα κλειδιά. Οι χάρτες μπορούν να χρησιμοποιηθούν για την υλοποίηση λεξικών, πινάκων κατακερματισμού και άλλων δομών δεδομένων που αντιστοιχίζουν κλειδιά σε τιμές.

Σύνταξη

Για να αρχικοποιήσετε έναν χάρτη χρησιμοποιήστε την ακόλουθη σύνταξη:

συνθ χάρτης = νέος Χάρτης ( [

[ 'κλειδί' , 'αξία' ] ,

[ 'κλειδί' , 'αξία' ]

] ) ;

Μπορείτε επίσης να δημιουργήσετε έναν χάρτη χρησιμοποιώντας τον κατασκευαστή χάρτη ή χρησιμοποιώντας τον νέο τελεστή και να ορίσετε τιμές χρησιμοποιώντας το ' σειρά() 'μέθοδος:

συνθ χάρτης = νέος Χάρτης ( ) ;

χάρτης. σειρά ( 'κλειδί' , 'αξία' ) ;

Παράδειγμα: Δημιουργία χάρτη σε JavaScript

Στο συγκεκριμένο παράδειγμα, θα δημιουργήσουμε έναν Χάρτη χρησιμοποιώντας και τις δύο σύνταξη.

Δημιουργήστε έναν χάρτη χρησιμοποιώντας τη μέθοδο προετοιμασίας. Εδώ, θα ορίσουμε τα κλειδιά ως συμβολοσειρά, ενώ μπορείτε να ορίσετε κλειδιά σε έναν Χάρτη οποιουδήποτε τύπου:

συνθ mapStd = νέος Χάρτης ( [
[ 'όνομα' , 'Γιάννης' ] ,
[ 'ηλικία' , 18 ] ,
[ 'rollno' , 25 ] ,
[ 'πρότυπο' , 9 ] ,
] ) ;

Ή δημιουργήστε έναν Χάρτη καλώντας τον κατασκευαστή του χάρτη ή τη νέα λέξη-κλειδί/χειριστή:

συνθ mapStd = νέος Χάρτης ( ) ;

Ορίστε τιμές στον χάρτη σε ένα ζεύγος κλειδιού-τιμής χρησιμοποιώντας το ' σειρά() 'μέθοδος:

mapStd. σειρά ( 'όνομα' , 'Γιάννης' ) ;

mapStd. σειρά ( 'ηλικία' , 18 ) ;

mapStd. σειρά ( 'rollno' , 25 ) ;

mapStd. σειρά ( 'πρότυπο' , 9 ) ;

Για να εκτυπώσετε τον χάρτη στην κονσόλα, χρησιμοποιήστε το ' καταχωρήσεις () μέθοδος με το « for-of ' βρόχος:

Για ( συνθ [ κλειδί, τιμή ] της mapStd. καταχωρήσεις ( ) ) {

κονσόλα. κούτσουρο ( `$ { κλειδί } : $ { αξία } ` ) ;

}

Ή για πρόσβαση στην τιμή οποιουδήποτε συγκεκριμένου κλειδιού/ιδιότητας, χρησιμοποιήστε το ' παίρνω() μέθοδος:

κονσόλα. κούτσουρο ( 'Το rollno του' + mapStd. παίρνω ( 'όνομα' ) + ' είναι ' + mapStd. παίρνω ( 'rollno' ) ) ;

Η έξοδος δείχνει όλες τις ιδιότητες του Χάρτη και την τιμή της συγκεκριμένης ιδιότητας:

Χάρτης έναντι αντικειμένου σε JavaScript

Η κύρια διαφορά μεταξύ Χάρτη και Αντικειμένου είναι η εξής:

Χάρτης Αντικείμενο
Εισήχθη στο ECMAScript 6 το 2015. Η JavaScript εισήγαγε τον τύπο δεδομένων Object στην πρώτη της έκδοση (ECMAScript 1) που κυκλοφόρησε το 1997.
Ο χάρτης επιτρέπει κλειδιά οποιουδήποτε τύπου δεδομένων (π.χ. αντικείμενα, συναρτήσεις, αριθμούς κ.λπ.). Τα κλειδιά αντικειμένων πρέπει να είναι συμβολοσειρές.
Οι ιδιότητες ενός χάρτη μπορούν να προσπελαστούν χρησιμοποιώντας τη μέθοδο get(). Μπορείτε να προσπελάσετε τις ιδιότητες των αντικειμένων χρησιμοποιώντας σημειογραφία κουκκίδων ή σημειογραφία τετράγωνης αγκύλης.
Ο χάρτης έχει μια ενσωματωμένη ιδιότητα μεγέθους για την επιστροφή του αριθμού των ζευγών κλειδιού-τιμής Το αντικείμενο δεν έχει αυτή τη δυνατότητα.
Ο χάρτης επαναλαμβάνεται. Επιτρέπει τον βρόχο σε όλα τα ζεύγη κλειδιού-τιμής χρησιμοποιώντας ορισμένες ενσωματωμένες μεθόδους όπως forEach(), keys(), values() και entries(). Το αντικείμενο δεν επαναλαμβάνεται. Υπάρχει ανάγκη να χρησιμοποιηθούν βρόχοι «for-in» ή μέθοδος Object.entries() για την επανάληψη ζευγών κλειδιού-τιμής.
Ο χάρτης έχει παραγγελθεί. Το αντικείμενο δεν είναι ταξινομημένο.

Όταν εργάζεστε με μικρά σύνολα δεδομένων, η διαφορά απόδοσης μεταξύ των Χαρτών και των αντικειμένων είναι αμελητέα, αλλά όταν εργάζεστε με μεγαλύτερα σύνολα δεδομένων, οι Χάρτες μπορούν να είναι πιο γρήγοροι καθώς είναι βελτιστοποιημένοι για απόδοση.

Πότε προτιμά ο χάρτης έναντι των αντικειμένων σε JavaScript;

Όταν χρειάζεται να αποθηκεύσετε ζεύγη κλειδιού-τιμής σε μια ταξινομημένη μορφή ή η τιμή ως κλειδί είναι οποιοσδήποτε τύπος δεδομένων, όπως αριθμοί, αντικείμενα ή σύμβολα, χρησιμοποιήστε το ' Χάρτης ' δομή δεδομένων. Τα αντικείμενα θα χρησιμοποιούνται όταν χρειάζεται να χρησιμοποιήσετε συμβολοσειρές ως κλειδιά και όταν δεν χρειάζεστε καμία από τις λειτουργίες των Χαρτών. Η διαφορά απόδοσης μεταξύ των Χαρτών και των αντικειμένων είναι αμελητέα όταν εργάζεστε με μικρά σύνολα δεδομένων, αλλά όταν εργάζεστε με μεγαλύτερα σύνολα δεδομένων, οι Χάρτες μπορούν να είναι πιο γρήγοροι καθώς είναι βελτιστοποιημένοι για απόδοση.

συμπέρασμα

Ο χάρτης και το αντικείμενο χρησιμοποιούνται και τα δύο για την αποθήκευση δεδομένων ως ζεύγη κλειδιού-τιμής στο JavaScript, αλλά έχουν κάποιες διαφορές. Ο χάρτης είναι μια πιο ισχυρή και ευέλικτη δομή δεδομένων από το Object και είναι η προτιμώμενη επιλογή όταν χρειάζεται να αποθηκεύσετε ζεύγη κλειδιών-τιμών που πρέπει να παραγγελθούν, να έχετε κλειδιά διαφορετικών τύπων δεδομένων ή να έχετε μια ιδιότητα μεγέθους. Αυτή η ανάρτηση εξηγούσε τη διαφορά μεταξύ χάρτη και αντικειμένου στο JavaScript.