Menu
CoddyTech

Methods الخاصة

جزء من قسم البرمجة كائنية التوجه في رحلة JavaScript على Coddy. الدرس 19 من 56.

تتيح الطرق الخاصة في فئات JavaScript إخفاء تفاصيل التنفيذ ومنع الوصول الخارجي إلى الوظائف الداخلية.

ابتداءً من ES2022، يمكن تعريف الأساليب الخاصة باستخدام البادئة #:

class Counter {
  #count = 0;
  
  // أنشئ دالة خاصة
  #increment() {
    this.#count++;
  }
  
  // دالة عامة تستخدم الدالة الخاصة
  addOne() {
    this.#increment();
    return this.#count;
  }
}

لنُنشئ نسخة من Counter:

const myCounter = new Counter();

يمكننا استدعاء الطريقة العامة:

console.log(myCounter.addOne()); // الناتج: 1

لكن محاولة الوصول إلى الطريقة الخاصة مباشرةً ستؤدي إلى حدوث خطأ:

myCounter.#increment(); // خطأ: لا يمكن الوصول إلى الطريقة الخاصة من خارج الصنف

تساعد الأساليب الخاصة في الحفاظ على التغليف من خلال إبقاء تفاصيل التنفيذ الداخلية مخفية عن العالم الخارجي.

challenge icon

التحدي

أُعطيتَ فئة MessageBox تخزّن الرسائل. مهمتك هي إضافة دالة خاصة تُسمّى #isValidMessage(text) للتحقق من صحة الرسائل. يجب أن:

  • تُرجع true إذا لم يكن النص فارغًا وكان طوله أقل من 100 حرف
  • تُرجع false خلاف ذلك

جرّب بنفسك

import { MessageBox } from './messageBox.js';

// استخدام مربع الرسائل
const box = new MessageBox();

console.log(box.setMessage("Hello"));    // "Message set!" (يستخدم #isValidMessage)
console.log(box.setMessage(""));         // "Invalid message!" (يستخدم #isValidMessage)
quiz iconاختبر نفسك

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

جميع دروس البرمجة كائنية التوجه

تدرّب بنفسك: مترجم JavaScript عبر الإنترنت