الدرس التاسع استخدام الدوال Delete و in و instanceof

الدرس التاسع استخدام الدوال Delete و in و instanceof

الدرس التاسع استخدام الدوال Delete و in و instanceof

 

دعونا نفترض أن لدينا فئة class  ولتكن تمثل الموظف employee وفيها 3 خصائص أساسية هي : رقم الموظف empId

واسمه الأول firstName واسمه الأخير lastName

ومثلنا الكلاس برمجياً في كود الجافا سكربت كالتالي

    var employee = {empId:10001, firstName:"محمد", lastName:"الناصر"};

 

  1. في الجافا سكربت نستخدم الدالة Delete  لحذف قيمة value  لخاصية في أي كلاس في الجافا سكربت نستخدم الدالة Delete وفي مثالنا لنقل أننا نريد حذف قيمة الإسم الأخير lastName فنكتب السطر التالي

delete employee.lastName;

حسناً السؤال ماهي قيمة الخاصية الإسم الأخير lastName بعد الحذف ؟

الجواب تكون القيمة هي undefined

أي غير معرف

بمعنى أن الدالة delete حذف القيمة والنوع لأننا في الكود لم نحدد أن نوع الخاصية lastName هي نص string

إنما ربطناه بقيمة نصية فعندما حذفنا ماتم ربطه عاد لوضعه الأساسي وهو undefined

دعونا نستوضح ذلك بكتابة كامل الكود كما المثال التالي :

  • افتح المفكرة أو أي محرر كود جافا سكربت
  • اكتب الكود التالي
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>الدرس التاسع استخدام الدوال Delete و in و instanceof</title>
</head>
<body>
<h1> Delete الدالة </h1>
<p id="deleteop"></p>
<script>
    var employee={empId:10002, firstName:"محمد", lastName:"الناصر"};
    delete employee.lastName;
    var deleteop = document.getElementById("deleteop");
    deleteop.innerHTML = "رقم الموظف (empId) :" +employee.empId + "<br>";
    deleteop.innerHTML += "اسم الموظف الأول(firstName) :"+ employee.firstName +"<br>";
    deleteop.innerHTML += "الإسم الأخير للموظف(lastName) :" + employee.lastName;
</script>
</body>
</html>
  • احفظ الملف بتنسيق صفحة ويب html ثم شغله في المتصفح
  • ستظهر لك النتيجة التالية :

Delete

رقم الموظف (empId) :10002

اسم الموظف الأول(firstName) :محمد

الإسم الأخير للموظف(lastName) :undefined


أيضاً في الجافا سكربت نستخدم الدالة in للتحقق من وجود خاصية في كائن ما وتعود بقيمة صواب true  في حالة وجود الخاصية وقيمة خطأ false  في حالة عدم وجودها

دعونا نتأكد في مثالنا السابق من وجود الخاصية firstName الإسم الأول ونتأكد من وجود خاصية غير موجودة ولتكن مثلا fatherName  اسم الأب

علماً بأن الخاصية in  حساسة لحالة الأحرف ف firstname  ليست نفسها firstName

 

الأن لنتأكد من كل ذلك قم بالتعديلات التالية في الكود السابق

  • بعد الكود
<p id="deleteop"></p>
  • اكتب الكود التالي
<h1> in الدالة </h1>
<p id=" inop"></p>
  • بعد الكود
deleteop.innerHTML += "الإسم الأخير للموظف(lastName) :" + employee.lastName;
  • اكتب الكود التالي
    inop.innerHTML = "هل الخاصية  (firstName) موجودة في كلاس الموضف ؟ " + ("firstName" in employee) + "<br>";

    inop.innerHTML += "هل الخاصية(firstname) موجودة في كلاس الموضف ؟ "+ ("firstname" in employee) +"<br>";

    inop.innerHTML += "هل الخاصية(fatherName) موجودة في كلاس الموضف ؟ " + ("fatherName" in employee);

  • احفظ الملف بتنسيق صفحة ويب html ثم شغله في المتصفح
  • ستظهر لك النتيجة التالية  بالإضافة للنتيجة السابقة :

in الدالة

 

هل الخاصية (firstName) موجودة في كلاس الموضف ؟ true

هل الخاصية(firstname) موجودة في كلاس الموضف ؟ false

هل الخاصية(fatherName) موجودة في كلاس الموضف ؟ false

 


أما الدالة instanceof  في الجافا سكربت نستخدمها لمعرفة هل الكائن هو مشتق من الكائن الآخر

فعلى سبيل المثالهل الكلاس موظف employee  في مثالنا لهذا الدرس هو مشتق من الكائن object  ؟

سيكون الجواب نعم true

 

ولو سألتك هل الكلاس موظف employee  في مثالنا لهذا الدرس هو مشتق من مصفوفة  Array  ؟

سيكون الجواب لا false

 

ولكن لو قلنا أن المصفوفة [8,2,4]  هي بالفعل مشتقة من مصفوفة Array   فالجواب بالتأكيد نعم true

دعنا الآن نمثل ذلك في الكود .

افتح الكود السابق وقم بالخطوات التالية :

  • بعد الكود
<p id="inop"></p>
  • اكتب الكود التالي
<h1> instanceof  الدالة </h1>
<p id="instanceofop"></p>
  • بعد الكود
inop.innerHTML += "هل الخاصية(fatherName) موجودة في كلاس الموضف ؟ " + ("fatherName" in employee);
  • اكتب الكود التالي
instanceofop.innerHTML = "هل الكلاس employee مشتق من الكائن Object " + (employee instanceof Object)  + "<br>";
	instanceofop.innerHTML += "هل الكلاس employee مشتق من الكائن Array " + (employee instanceof Array)  + "<br>";
    instanceofop.innerHTML += "هل [8,2,4] مشتق من الكائن Array " + ([8,2,4] instanceof Array);
  • احفظ الملف بتنسيق صفحة ويب html ثم شغله في المتصفح
  • ستظهر لك النتيجة التالية  بالإضافة للنتيجة السابقة :

 

instanceof

هل الكلاس employee مشتق من الكائن Object true

هل الكلاس employee مشتق من الكائن Array false

هل [8,2,4] مشتق من الكائن Array true

-----

وفيما يلي صورة من الكود كاملاً

صورة للكود

---

وبهذا انتهى درسنا التاسع

نسأل الله أن ينفعنا بما علمنا ويعلمنا ماينفعنا

 

الردود

آراء أعضاء الموقع وتعليقاتهم

هل أنت مشترك بموقع تقنيات ؟ بادر بالإشتراك الآن


يجب عليك التسجيل لتستطيع كتابة تعليق