Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

دوال المساعدة الثابتة (Static Utility Methods)

جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 33 من 56.

الدوال الساكنة (Static methods) هي دوال مساعدة تنتمي إلى الفئة (class) نفسها بدلاً من كائنات (instances) الفئة. وهي مفيدة للدوال التي لا تتطلب الوصول إلى بيانات خاصة بالكائن.

لنقم بإنشاء فئة (class) تحتوي على دالة مساعدة ثابتة (static utility method):

class MathHelper {
  // تعريف دالة ثابتة
  static square(number) {
    return number * number;
  }
}

لاستدعاء تابع ثابت (static method)، يمكنك استخدام اسم الفئة (class name) مباشرة:

// استدعاء التابع الثابت دون إنشاء كائن (instance)
const result = MathHelper.square(5);
console.log(result); // 25

لاحظ أننا لم نكن بحاجة لإنشاء مثيل جديد باستخدام new MathHelper(). تعد الدوال الثابتة (Static methods) مثالية للدوال المساعدة التي تنفذ عمليات دون الحاجة إلى بيانات المثيل.

challenge icon

التحدي

قم بإنشاء فئة (class) باسم StringUtils تحتوي على طريقة ثابتة (static method) تسمى capitalize تأخذ سلسلة نصية (string) كوسيط وتُرجع نفس السلسلة مع تحويل الحرف الأول إلى حرف كبير (capitalized). على سبيل المثال، إذا كان الإدخال هو "javascript"، يجب أن تُرجع الطريقة "Javascript". قم بتصدير (Export) هذه الفئة.

  1. تحقق مما إذا كانت السلسلة فارغة: if (!str || str.length === 0) (بدون هذا التحقق، قد تتسبب السلسلة الفارغة في حدوث مشكلات).
    1. !str يتحقق من قيم null/undefined (يمنع الأخطاء)
    2. str.length === 0 يتحقق من السلسلة الفارغة (يُرجع "" بدلاً من تعطل البرنامج)
  2. الحصول على الحرف الأول: str.charAt(0)
  3. جعله حرفاً كبيراً: .toUpperCase()
  4. الحصول على بقية السلسلة: str.slice(1) (من الموقع 1 إلى النهاية)
  5. الدمج: الحرف الأول الكبير + بقية السلسلة

ورقة مرجعية

الطرق الساكنة (Static methods) هي وظائف مساعدة تنتمي إلى الفئة (class) نفسها بدلاً من النسخ (instances). وهي لا تتطلب الوصول إلى البيانات الخاصة بالنسخة.

قم بتعريف طريقة ساكنة باستخدام الكلمة المفتاحية static:

class MathHelper {
  static square(number) {
    return number * number;
  }
}

استدعِ الطرق الساكنة مباشرة على الفئة دون إنشاء نسخة:

const result = MathHelper.square(5);
console.log(result); // 25

طرق نصية (string methods) مفيدة للأدوات المساعدة الساكنة:

  • str.charAt(0) - يجلب الحرف الأول
  • str.toUpperCase() - يحول إلى أحرف كبيرة
  • str.slice(1) - يجلب سلسلة فرعية من الموضع 1 إلى النهاية
  • !str || str.length === 0 - يتحقق مما إذا كانت القيمة null/undefined أو سلسلة فارغة

جرّب بنفسك

import { StringUtils } from './stringUtils.js';

// لا تعدل الكود أدناه
console.log(StringUtils.capitalize("programming"));
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Object Oriented Programming