פוסט זה יסביר את ההבדל בין מפה לאובייקט ב-JavaScript.
כיצד להגדיר אובייקט ב-JavaScript?
ב-JavaScript, אובייקט הוא אוסף של מאפיינים, שלכל אחד מהם זוג מפתח-ערך. ה ' מַפְתֵחַ ' האם ה ' שֵׁם ', ו' ערך ' הוא ה'ערך' מול המפתח. אובייקטים יכולים לייצג אובייקטים מהעולם האמיתי, כמו מכונית, אדם או חשבון בנק. הם יכולים גם לייצג אובייקטים מופשטים יותר, כמו נקודה מתמטית במרחב, צבע או תאריך.
תחביר
ניתן ליצור אובייקט באמצעות סימון אובייקט מילולי {} בסוגריים או בונה האובייקט. השתמש בסימון המילולי או בסוגריים, השתמש בתחביר שלהלן:
const לְהִתְנַגֵד = {
מַפְתֵחַ : ערך,
מַפְתֵחַ : ערך
}
יצירת אובייקט באמצעות בונה האובייקטים או ' חָדָשׁ ' מילת מפתח, השתמש בתחביר הבא:
const לְהִתְנַגֵד = חָדָשׁ לְהִתְנַגֵד ( ) ;
לְהִתְנַגֵד. מַפְתֵחַ = ערך ;
הערה: זכור שהמפתחות או השמות של מאפייני האובייקט חייבים להיות מחרוזת.
דוגמה 1: צור אובייקט באמצעות סימון מילולי ב-JavaScript
בדוגמה הבאה, ניצור אובייקט בשם ' stdObject ' באמצעות סימון מילולי או סוגריים:
var stdObject = {
שֵׁם : 'ג'ון' ,
גיל : 18 ,
rollno : 25 ,
תֶקֶן : 9
}
הדפס את האובייקט על המסוף:
לְנַחֵם. עֵץ ( stdObject ) ;תְפוּקָה
דוגמה 2: צור אובייקט באמצעות ה-Object Constructor ב-JavaScript
כאן, ניצור אובייקט באמצעות בנאי האובייקט תוך שימוש ב-' חָדָשׁ ' מילת מפתח:
const stdObject = חָדָשׁ לְהִתְנַגֵד ( ) ;כעת, הוסף את המאפיינים (מפתח-ערך) של אובייקטים באמצעות סימון הנקודה(.):
stdObject. שֵׁם = 'זִיוּן' ;stdObject. גיל = 19 ;
stdObject. rollno = חֲמֵשׁ עֶשׂרֵה ;
stdObject. תֶקֶן = 10 ;
לבסוף, הצג את האובייקט במסוף באמצעות ' console.log() ' שיטה:
לְנַחֵם. עֵץ ( stdObject ) ;תְפוּקָה
כיצד להגדיר מפה ב-JavaScript?
ב-JavaScript, ' מַפָּה ” הוא מבנה נתונים שמכיל צמדי מפתח-ערך הדומים לאובייקט. זה מאפשר לך לשייך נתונים למפתחות ולאחזר את הנתונים מאוחר יותר באמצעות המפתחות. ניתן להשתמש במפות כדי ליישם מילונים, טבלאות גיבוב ומבני נתונים אחרים הממפים מפתחות לערכים.
תחביר
כדי לאתחל מפה השתמש בתחביר הבא:
const מַפָּה = חָדָשׁ מַפָּה ( [[ 'מַפְתֵחַ' , 'ערך' ] ,
[ 'מַפְתֵחַ' , 'ערך' ]
] ) ;
אתה יכול גם ליצור מפה באמצעות בנאי המפה או באמצעות האופרטור החדש, ולהגדיר ערכים באמצעות ' מַעֲרֶכֶת() ' שיטה:
const מַפָּה = חָדָשׁ מַפָּה ( ) ;מַפָּה. מַעֲרֶכֶת ( 'מַפְתֵחַ' , 'ערך' ) ;
דוגמה: צור מפה ב-JavaScript
בדוגמה הנתונה, ניצור מפה תוך שימוש בשני התחביר.
צור מפה בשיטת האתחול. כאן, נגדיר מפתחות כמחרוזת בעוד שאתה יכול להגדיר מפתחות במפה בכל סוג:
const mapStd = מפה חדשה ( [[ 'שֵׁם' , 'ג'ון' ] ,
[ 'גיל' , 18 ] ,
[ 'רולנו' , 25 ] ,
[ 'תֶקֶן' , 9 ] ,
] ) ;
או צור מפה על ידי קריאה לבנאי המפה או למילת המפתח/המפעיל החדש:
const mapStd = חָדָשׁ מַפָּה ( ) ;הגדר ערכים במפה בזוג מפתח-ערך באמצעות ' מַעֲרֶכֶת() ' שיטה:
mapStd. מַעֲרֶכֶת ( 'שֵׁם' , 'ג'ון' ) ;mapStd. מַעֲרֶכֶת ( 'גיל' , 18 ) ;
mapStd. מַעֲרֶכֶת ( 'רולנו' , 25 ) ;
mapStd. מַעֲרֶכֶת ( 'תֶקֶן' , 9 ) ;
כדי להדפיס את המפה על המסוף, השתמש ב-' ערכים() שיטת ' עם ' בשביל 'לולאה:
ל ( const [ ערך מפתח ] של mapStd. ערכים ( ) ) {לְנַחֵם. עֵץ ( `$ { מַפְתֵחַ } : $ { ערך } ` ) ;
}
או לגישה לערך של מפתח/נכס ספציפי, השתמש ב-' לקבל() ' שיטה:
לְנַחֵם. עֵץ ( 'הרולנו של' + mapStd. לקבל ( 'שֵׁם' ) + 'הוא' + mapStd. לקבל ( 'רולנו' ) ) ;הפלט מציין את כל המאפיינים של המפה ואת הערך של המאפיין הספציפי:
מפה לעומת אובייקט ב-JavaScript
ההבדל העיקרי בין המפה לאובייקט הוא כדלקמן:
מַפָּה | לְהִתְנַגֵד |
זה הוצג ב-ECMAScript 6 בשנת 2015. | JavaScript הציגה את סוג נתוני האובייקט בגרסה הראשונה שלו (ECMAScript 1) שפורסמה ב-1997. |
מפה מאפשרת מפתחות מכל סוג נתונים (למשל, אובייקטים, פונקציות, מספרים וכו'). | מפתחות אובייקט חייבים להיות מחרוזות. |
ניתן לגשת למאפיינים של מפה באמצעות שיטת get() . | ניתן לגשת למאפייני אובייקט באמצעות סימון נקודות או סימון בסוגריים מרובעים. |
למפה יש מאפיין גודל מובנה כדי להחזיר את מספר זוגות מפתח-ערך | לאובייקט אין תכונה זו. |
המפה ניתנת לחזרה. זה מאפשר לולאה דרך כל צמדי מפתח-ערך באמצעות כמה שיטות מובנות כגון forEach(), keys(), values() ו-entries(). | האובייקט אינו ניתן לחזרה. יש צורך להשתמש בלולאות 'for-in' או בשיטת Object.entries() לאיטרציה של צמדי מפתח-ערך. |
מפה הוזמנה. | האובייקט אינו מסודר. |
כאשר עובדים עם ערכות נתונים קטנות, ההבדל בביצועים בין מפות לאובייקטים הוא זניח, אך כאשר עובדים עם מערכי נתונים גדולים יותר, מפות יכולות להיות מהירות יותר מכיוון שהן מותאמות לביצועים.
מתי מפה מעדיפה אובייקטים ב-JavaScript?
כאשר אתה צריך לאחסן זוגות מפתח-ערך בצורה מסודרת או שהערך כמפתח הוא כל סוג נתונים, כגון מספרים, אובייקטים או סמלים, השתמש ב-' מַפָּה ' מבנה נתונים. אובייקטים ישמשו כאשר עליך להשתמש במחרוזות כמפתחות וכאשר אינך זקוק לאף אחת מהתכונות של מפות. ההבדל בביצועים בין מפות לאובייקטים הוא זניח בזמן עבודה עם ערכות נתונים קטנות, אך כאשר עובדים עם מערכי נתונים גדולים יותר, מפות יכולות להיות מהירות יותר מכיוון שהן מותאמות לביצועים.
סיכום
Map ו-Object משמשים שניהם לאחסון נתונים כצמדי מפתח-ערך ב-JavaScript, אך יש ביניהם כמה הבדלים. מפה היא מבנה נתונים חזק וגמיש יותר מ-Object, והיא הבחירה המועדפת כאשר אתה צריך לאחסן צמדי מפתח-ערך שצריך להזמין, להחזיק מפתחות מסוגי נתונים שונים או בעלי מאפיין גודל. פוסט זה הסביר את ההבדל בין מפה לאובייקט ב-JavaScript.