Java Script Object Methods
دوال الكائنات في لغة جافا سكريبت
ستتعلم في هذا الدرس دوال الكائنات في لغة جافا سكريبت Java Script Object Methods مثل الدوال الخاصة بأنشاء خصائص بداخل الكائن Create Object Property والدوال التي تقوم بالتعديل وحذف الخصائص من الكائنات Delete & Update Object Property
التاريخ
الدروس
المستوى
اللغة
المشاهدات
المواضيع
الشروحات chevron_left Java Script Object Methods chevron_left JavaScript
Java Script Object Methods
الدوال الخاصة بالكائنات في لغة جافا سكريبت
</>
Ways to create objects
طرق متعددة لأنشاء الكائنات في لغة الجافا سكريبت
هناك طرق متعددة لكتابة الكائنات Objects في لغة الجافا سكريبت سنتعلم طريقتين في هذا الدرس والبقية مترتبه علي دروس اخري سوف نتطرق اليها لاحقاً.
- الطريقة الاولي : عن طريق كتابة خصائص الكائنات Objects Properites مباشرة.
- الطريقة الثانية : عن طريق ()Keyword new object وهي عملية object initialization داخل متغير variable ثم الحاق الخصائص في سطور جديدة.
- الطريقة الثالثة : عن طريق استخدام دالة ( )create وهي تقوم بأنشاء نسخة من الكائن ونقوم بتخزينه بداخل كائن أخر وبعد ذلك يمكننا أجراء عمليات مختلفة عليه مثل ( إضافة خاصية , حذف خاصية , تغيير قيمة خاصية )
عن طريق كتابة خصائص الكائنات
var plane= {type:"MS", model:2001, color:"white"}; document.write("The Plane Color is " + plane.color); document.write("The Plane model is " + plane.model);
باستخدام ( )new object
var plane=new Object(); plane.type = "MS"; plane.model= 2001; plane.color= "white";
باستخدام دالة ( )create
var newPlane = Object.create(plane); newPlane.model=1995 document.write("<br>"+"the new plane model is " + newPlane.model);
</>
Adding a new property to an object
اضافة خصائص جديدة بداخل الكائن في لغة جافا سكريبت
علي عكس لغات البرمجة الأخري مثل (++C و java ) ففي لغة الجافا سكريبت يمكنك اضافة خاصية property جديدة لل object بعد انشائه
وذلك باستخدام عدة طرق مختلفة وهم : -
- الطريقة الأولي : باستخدام علامة النقطة " . " , Dot notation ثم اسم الخاصية التي نريد اضافتها مباشرة الي الكائن
- الطريقة الثانية : باستخدام الأقواس المربعة "[ ]" bracket notation عن طريق وضع اسم الخاصية بداخل اقواس مربعة ويسبق هذه الأقواس اسم الكائن object
- الطريقة الثالثة : باستخدام دالة تسمي "() Object.assign" وهي تأخذ قيمتين الأولي تكون اسم الكائن الذي نريد إضافة الخاصية اليه والثانية تكون اسم الخاصية التي نريد اضافتها الي هذا الكائن
- الطريقة الرابعة : باستخدام عامل الانتشار spread operator وهي عن طريق وضع الخاصية التي نريد اضافتها بداخل اقواس مجعدة " { } " ويجب ان يسبق اسم الخاصية ثلاثة نقاط " . . . " ثم نقوم بتخزينها بداخل الكائن الذي نريد باستخدام علامة يساوي " = "
استخدام Using dot notation
var plane = {type:"MS", model:2001, color:"white"}; plane.company= "Saudia Air"; document.write("The Plane Company is " + plane.company);
استخدام Using bracket notation
var plane = {type:"MS", model:2001, color:"white"}; plane['company']= "Saudia Air"; document.write("The Plane Company is " + plane['company']);
استخدام Using Object assign function
var plane = {type:"MS", model:2001, color:"white"}; var details= { company:"Saudia Air"}; Object.assign(plane,details); document.write("The Plane Company is " + plane.company);
استخدام Using Spread operator
var plane = {type:"MS", model:2001, color:"white"}; var details= { company:"Saudia Air"}; var newplane = {...plane, ...details}; document.write("The Plane Company is " + newplane.company);
</>
Deleting a property of an object
حذف خاصية من الكائن في الجافاسكريبت
يمكنك حذف احدي خواص ال object باستخدام عدة طرق مختلفة وسنتعرف علي بعضهم الأن وفي الدروس المتقدمة سوف نتعرف علي بقية هذه الطرق
- الطريقة الأولي : باستخدام دالة delete عن طريق كتابة كلمة "delete" ثم اسم الكائن ثم علامة النقطة "." ثم اسم الخاصية التي نريد حذفها
- الطريقة الثانية: باستخدام دالة delete عن طريق كتابة كلمة "delete" ثم اسم الكائن ثم أقواس مربعة " [ ] " تحتوي بداخلها علي المفتاح key الخاص بالخاصية التي نريد حذفها
- الطريقة الثالثة : باستخدام دالة ( )Reflect.deleteProperty عن طريق كتابة الدالة ( )Reflect.deleteProperty وتحتوي بداخلها علي قيمتين القيمة الأولي هي أسم الكائن والقيمة الثانية هي اسم الخاصية التي نريد حذفها ويجب وضع هذه الخاصية بداخل علامة تنصيص
- الطريقة الرابعة عن طريق انشاء كائن جديد وتحديد الخصائص المراد تجاهلها من الكائن القديم ويكون اسم الكائن الجديد مسبوق بثلاثة نقاط "..."
باستخدام دالة delete
var plane= {type:"MS", model:2001, color:"white"}; delete plane.model console.log(plane);
باستخدام دالة delete مع الاقواس المربعة [ ]
var plane = {type:"MS", model:2001, color:"white"}; delete plane[model] console.log(plane);
باستخدام دالة ( )Reflect.deleteProperty
var plane= {type:"MS", model:2001, color:"white"}; Reflect.deleteProperty(plane, 'color'); console.log(plane);
باستخدام Destructuring
var plane= { type:"MS", model:2001, color:"white" } var { type, color, ...newPlane} = plane console.log(newPlane)
- لكي تريد نتيجة تنفيذ دالة ( )console.log يجب ان تقوم بعمل inspect
- عندما تقوم بطباعة object كائن باستخدام دالة ( )console.log فسوف يتم عرض كلمة object ويجب ان تقوم بالضغط عليها حتي يتم اظهار الخصائص الخاصة بهذا ال object
</>
Object length
عدد عناصر الكائن في الجافاسكريبت
يمكننا معرفة عدد عناصر الكائن object عن طريق خطوتين وهما
- أولا نستخدم الدالة ( )keys والتي تقوم بأرجاع جميع المفاتيح keys الخاصة بالكائن object
- ثانيا نقوم باستخدام الدالة length لتقوم بأرجاع عدد المفاتيح التي قامت الدالة ( )keys بأرجاعاها فتكون علي الشكل التالي
var plane= { type:"MS", model:2001, color:"white" } document.write(Object.keys(plane).length);
</>
Update object or Update Object property
تعديل قيم الكائنات أو قيم خصائصها في الجافاسكريبت
نستطيع تغيير القيم الخاصة بالخصائص الموجودة بداخل كائن معين عن طريق اختيار هذه الخاصية ثم تخزين قيمة جديدة بداخلها وسوف تقوم لغة الجافاسكريبت بتبديل القيمة التي قمت بإدخالها بالقيمة الموجودة سابقا ونستطيع تحديد الخاصية التي نريد تغييرها عن طريق كتابة اسم الكائن ثم علامة " . " ثم اسم الخاصية التي تريد تغييرها كما في المثال التالي
باستخدام ال Dot notation
var plane= { type:"MS", model:2001, color:"white" } plane.model=1995; document.write("The Plane model is " + plane.model);
باستخدام الأقواس المربعة
var plane= { type:"MS", model:2001, color:"white" } plane['model']=1995; document.write("The Plane model is " + plane['model']);
عندما تقوم بتغيير قيمة احد خصائص كائن object معين فيجب ان تقوم بتحديد العنصر الذي تريد تغيير قيمته بأستخدام أحدي الطرق التي تعرفنا عليها في الدرس السابق سواء بال Dot notation او Bracket notation وبعد ذلك تعيين القيمة الجديدة.
- يرجي العلم انه في حالة قمت بتغيير القيمة من داخل كائن مباشرة فسوف يتسبب ذلك في خطأ
</>
Object type of
فحص نوع البيانات بداخل المتغير في الجافاسكريبت
تستخدم الدالة ( )typeof في تحديد نوع العنصر الذي يتم تمريره اليها كما في الامثلة التالية
تحديد نوع المتغير
var Type="MS"; var model = 2001; document.write(typeof(Type) + "<br>"); document.write(typeof(model));
تحديد نوع المصفوفة array
var courses = ["HTML", "CSS", "JS"]; document.write(typeof(courses));
تحديد نوع الكائن object
var plane= { type:"MS", model:2001, color:"white" }; document.write(typeof(plane));