دوال المساعدة الثابتة (Static Utility Methods)
جزء من قسم البرمجة كائنية التوجه في رحلة JavaScript على Coddy. الدرس 33 من 56.
الأساليب الثابتة هي دوال مساعدة تنتمي إلى الصنف نفسه بدلًا من أن تنتمي إلى مثيلات الصنف. وهي مفيدة للدوال التي لا تحتاج إلى الوصول إلى بيانات خاصة بمثيل معيّن.
لننشئ صنفًا يحتوي على طريقة مساعدة ثابتة:
class MathHelper {
// عرّف دالة ساكنة
static square(number) {
return number * number;
}
}لاستدعاء طريقة ثابتة، استخدم اسم الفئة مباشرةً:
// استدعِ الطريقة الثابتة دون إنشاء كائن منها
const result = MathHelper.square(5);
console.log(result); // 25لاحظ أننا لم نحتج إلى إنشاء مثيل جديد باستخدام new MathHelper(). تُعدّ الطرق الثابتة مثالية للدوال المساعدة التي تنفّذ عمليات دون الحاجة إلى بيانات المثيل.
التحدي
أنشئ صنفًا باسم StringUtils يحتوي على طريقة ثابتة تُسمى capitalize، تأخذ سلسلة نصية كوسيط وتُعيد السلسلة نفسها مع تحويل الحرف الأول إلى حرف كبير. على سبيل المثال، إذا كان الإدخال هو "javascript"، فينبغي أن تُعيد الطريقة "Javascript". صدّر هذا الصنف.
- تحقّق مما إذا كانت السلسلة النصية فارغة:
if (!str || str.length === 0)(قد يسبب غياب هذا التحقق مشكلات مع السلسلة النصية الفارغة).!strيتحقق منnull/undefined(ويمنع الأخطاء)str.length === 0يتحقق مما إذا كانت السلسلة النصية فارغة (ويُعيد "" بدلًا من حدوث خطأ)
- احصل على الحرف الأول:
str.charAt(0) - حوّله إلى حرف كبير:
.toUpperCase() - احصل على بقية السلسلة النصية:
str.slice(1)(من الموضع 1 حتى النهاية) - ادمج: الحرف الأول بعد تحويله إلى حرف كبير + بقية السلسلة النصية
جرّب بنفسك
import { StringUtils } from './stringUtils.js';
// لا تعدّل الكود أدناه
console.log(StringUtils.capitalize("programming"));يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس البرمجة كائنية التوجه
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circleإعادة التعريف ودالة المساحةعداد الأشكال Static9الخصائص والدوال الثابتة (Static)
مستوى الكلاس مقابل مستوى الكائنالخصائص الثابتة (Static Properties)دوال المساعدة الثابتة (Static Utility Methods)تحدي المراجعةتدرّب بنفسك: مترجم JavaScript عبر الإنترنت