← البوابة الرئيسية

محاكيات JavaScript التفاعلية

صفحة واحدة تفتح كل محاكي في المتصفح — مناسبة للشرح الصفي أو المراجعة الذاتية. افتح الملفات محلياً (مزدوج النقر على index.html).

أساسيات اللغة
📦

المتغيرات والأنواع

let وconst وvar، typeof، القيمة مقابل المرجع، const مع الكائنات، ونسخ المصفوفات.

⚙️

الدوال (Functions)

declaration, expression, arrow, parameters vs arguments, return, default values.

🔭

النطاق والرفع (Scope & Hoisting)

global, function, block scope — TDZ, hoisting لـ var/let/const/function.

🔒

الإ closures

دالة تتذكر نطاقها الخارجي، counter, factory, data privacy, loop problem.

التحكم بالتدفق
🔀

شروط if / else

if، else if، else، الشرط الثلاثي، truthy/falsy، && و||، والشروط المتداخلة.

🔁

الحلقات (Loops)

for, while, for...of مع break و continue — كل تكرار خطوة بخطوة.

🔄

Array.reduce()

تراكم القيم خطوة بخطوة: جمع، ضرب، أكبر/أصغر قيمة، وعمليات مخصصة مع initialValue.

النصوص String
📝

دوال String

فهارس UTF-16، بحث، slice، split، trim/pad، Regex آمن، match/matchAll، وString.fromCharCode.

المصفوفات Array
🔬

Array.filter()

تنفيذ خطوة بخطوة، بناء شرط، كود مخصص، سجل تتبع وأمثلة جاهزة.

📐

Array.map()

تحويل كل عنصر إلى قيمة جديدة؛ نفس طول المصفوفة، معاينة result[i] وتتبع.

🔄

Array.reduce()

تراكم القيم خطوة بخطوة: جمع، ضرب، أكبر/أصغر قيمة، وعمليات مخصصة مع initialValue.

الكائنات والهياكل المضمّنة
🧩

Object

الوصول، Object.keys/values/entries، freeze وseal، spread، JSON، والمزيد.

🗺️

Map (الهيكل)

ليس Array.map — هيكل مفاتيح↔قيم: set/get، التكرار، ومقارنة مع Object.

💠

Set

القيم الفريدة، عمليات المجموعات (اتحاد، تقاطع، فرق)، وأداة إزالة التكرار.

توسعة مقترحة (نفس الأسلوب)