Static Methods
في هذا الدرس سوف نتعرف علي نوع من انواع الدوال وهو يسمي static
التاريخ
الدروس
المستوى
اللغة
المشاهدات
المواضيع
الشروحات chevron_left Static Methods chevron_left JavaScript
Static Methods
</> Static Methods
Static Methods : هي عبارة عن دوال يتم انشائها بداخل class معين ولا يمكن الوصول اليها الا اذا كان بداخل دالة اخري من النوع static ويتم انشائها عن طريق استخدام الكلمة " static " قبل اسم الدالة
تستخدم الكلمة "static" في أنشاء دوال وخصائص لل class
غالبًا ما تكون static methods عبارة عن دوال أدوات مساعدة ، مثل دوال إنشاء كائنات أو نسخها ، في حين أن static property مفيدة للتخزين المؤقت أو التكوين الثابت أو أي بيانات أخرى لا تحتاج إلى نسخها عبر instants.
علي عكس الدوال العادية فأن دوال ال class لا يمكن استدعائها في اسطر تسبق انشائها أي انها لا تدعم ال Hosting
يسمح JavaScript بالدوال الثابته static methods التي تنتمي إلى الفئة class بدلاً من مثيل instant لتلك الفئة class وبالتالي ، ليس هناك حاجة إلى instant مثيل لاستدعاء مثل هذه الأساليب الثابتة. يتم استدعاء static methods في ال class مباشرة. يمكن أن يكون من أي اسم. يمكن class للفئة أن تحتوي على أكثر من دالة ثابته static method إذا حددنا أكثر من طريقة ثابتة static method بنفس الاسم ، فسيتم استدعاء الدالة الأخيرة بواسطة JavaScript. تُستخدم الكلمة الأساسية "this" لاستدعاء static method في أي دالة أخرى في JavaScript.
Syntax
static methodName ( ){ /* code to be executed */ }
</> Points to remember
- نستطيع انشاء دالة من النوع static عن طريق كتابة كلمة static قبل اسم الدالة
- يمكن تسمية اسم الدالة من النوع static ب أي اسم تريده
- يمكن ان يحتوي ال class علي اكثر من دالة من النوع static
- اذا قمنا بأنشاء اكثر من دالة من النوع static تأخذ نفس الاسم فسوف تعتمد لغة الجافاسكريب اخر واحده تم انشائها منهم وتقوم بتجاهل الاخري
- يمكننا استدعاء دالة من النوع static بداخل دالة من النوع static ايضا عن طريق استخدام الكلمة this
- لا يمكننا الوصول مباشرة الي دالة من النوع static مباشرة عن طريق الكلمة this بدون ان تكون بداخل دالة من النوع static
</> Examples
Example
<script> class Test { static display() { return "static method is invoked" } } document.writeln(Test.display()); </script>
Example
نستطيع تنفيذ اكثر من دالة من النوع static دون حدون اي مشاكل كما في المثال التالي
<script> class Test { static display1() { return "static method is invoked" } static display2() { return "static method is invoked again" } } document.writeln(Test.display1()+"<br>"); document.writeln(Test.display2()); </script>
في المثال التالي نقوم خلاله بتنفيذ اكثر من دالة من النوع static بأسماء متشابها ونجد ان لغة الجافا سكريب تتجاهلهم وتعتمد اخر دالة تم انشائها فقط
<script> class Test { static display() { return "static method is invoked" } static display() { return "static method is invoked again" } } document.writeln(Test.display()); </script>