Javascript - תכונות (Properties) אוביקטים

אוביקט בשפת Javascript הוא בעצם אוסף של תכונות (Properties) אשר מצידן מוורכבות מצמדים של שם תכונה וערך תכונה. ערך של תכונה יכול להיות גם פונקציה. תכונות שערכיהן הן פונקציות נקראות מתודות. במדריך זה ייחדנו פרק נפרד למתודות ב - Javascript. בפרק זה של המדריך נעסוק בתכונות רגילות, בדרכים להוספת תכונות לאוביקטים, להשמת ערכים לתכונות ולמחיקת תכונות.

גישה לתכונות אוביקט

כאמור, לאוביקטים יש תכונות. ניתן לראות תכונות אלו כמשתנים המוצמדים לאוביקטים. כדרכם של משתנים גם לתכונות יש ערכים כלשהם. ניתן לגשת לתכונה של אוביקט על ידי ציון שם האוביקט ואז נקודה ושם התכונה.

הצורה הכללית לגישה לתכונה של אוביקט

var v = object.property

ממש כמו כל משתנה אחר ב - Javascript הן שם האוביקט והן שם התכונה (property) רגישים לאותיות גדולות וקטנות באנגלית. לכן כאשר נרצה לפנות לתכונה או לאוביקט יש להקפיד על הדרך שבה אנו כותבים את שמותיהם.

הגדרת תכונות (Properties) לאוביקטים ב - Javascript

בדרך כלל נגדיר תכונה חדשה לאוביקט פשוט על ידי השמת ערך לתכונה. בדוגמת הקוד הבאה למשל ניצור תכונות חדשות לאוביקט.

מספר דוגמאות ליצירת תכונות חדשות לאוביקט

var contact = new object(); // יצירת אוביקט ריק
contact.firstname='David';  // יצירת תכונה לאוביקט והשמת ערך לתכונה זו
contact.surename='King'; // יצירת תכונה לאוביקט והשמת ערך לתכונה זו

תכונה של אוביקט יכולה להיות גם אוביקט אחר. בדרך זו ניתן ליצור אוביקטים המקננים זה בתוך זה.

דוגמת קוד להגדרת אוביקטים מקננים

var contact{age:45, title:'king',
fullname{firstname:'David': surename:'king'}
};

בדוגמת הקוד שלמעלה יצרנו אוביקט ששמו contact. לאוביקט זה שלוש תכונות: age, title, fullname. התכונה fullname היא עצמה אוביקט המורכב משתי תכונות: firstname ו - surename.

ניתן להשים או לגשת לתכונות של אוביקטים גם באמצעות סוגריים מרובעים.

דוגמת קוד לגישה ויצירת אוביקטים באמצעות סוגריים מרובעים

contact["age"]=45;
contact["title"]="King";

מחיקת תכונות (properties)

נמחוק תכונה של אוביקט על שימוש באופרטור delete. delete אינו מוחק את ערכה של התכונה אלא את התכונה עצמה.

דוגמה למחיקת תכונות מאוביקטים

delete contact.age;
delete contact["title"];

בדוגמת הקוד שלמעלה מחקנו לחלוטין את התכונות age ו - title מהאוביקט contact. כפי שניתן ללמוד מן הדוגמה ניתן להשתמש באופרטור delete למחיקת תכונות בשני אופנים: עם סוגריים מרובעים וללא סוגריים מרובעים אלא בגישה ישירה לתכונה.

מניית (Enumerating) כל התכונות של אוביקט נתון

במקום לבדוק את קיומה של כל תכונה בנפרד לעתים נרצה לעבור על כל התכונות של אוביקט. הדרך הטובה ביותר לעשות זאת היא על ידי שימוש בלולאה for...in. בדוגמה הבאה נשתמש ב - for...in כדי להדפיס את ערכי כל התכונות של אוביקט:

var Obj = {x: 1, y: 2, z: 3};
 for (var p in Obj) 
 {
     docuemnt.write(obj[p]); // print the value of each property in obj
 }

מדריכים נוספים הקשורים לנושא זה

יצירת אוביקטים חדשים ב - Javascript

מתודות (Methods) של אוביקטים ב - Javascript

 
 
© 2010-2013  www.Devschool.co.il | מדיניות פרטיות | תנאי שימוש