عمليات الرجوع المبكر وعبارات الحراسة
استخدم عمليات الرجوع المبكر وعبارات الحراسة لتبسيط الشروط وتقليل التداخل وتوضيح المسار المعتاد.
عمليات الرجوع المبكر وعبارات الحراسة درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
مقدمة
الهدف: اكتب دوال أوضح من خلال الإرجاع المبكر للمدخلات غير الصالحة، بحيث يظل المسار الاعتيادي قصيرًا.
- الإرجاع المبكر
- جملة الحراسة
- تقليل التداخل

من دون جملة حراسة
يدفع التداخل العمل الرئيسي إلى داخل if، ما قد يجعل الشيفرة صعبة القراءة مع نموها.
// Nested style without guard
function welcome(name) {
if (name) {
const message = "Hello, " + name + "!";
console.log(message);
} else {
console.log("Name required");
}
}
welcome("Ayla");
welcome("");

إعادة هيكلة باستخدام جملة حراسة
عالج المدخلات غير الصالحة أولًا، ثم اكتب المسار الاعتيادي بعدد أقل من مستويات المسافة البادئة.
// Guard clause: return early for bad input
function welcomeSafe(name) {
if (!name) {
console.log("Name required");
return;
}
const message = "Hello, " + name + "!";
console.log(message);
}
welcomeSafe("Ayla");
welcomeSafe("");

جمل حراسة متعددة
استخدم جملة حراسة صغيرة لكل قاعدة. يزيل كل إرجاع مبكر الحاجة إلى التداخل العميق.
// Multiple guard clauses keep each rule small
function divide(a, b) {
if (typeof a !== "number" || typeof b !== "number") {
console.log("Numbers only");
return;
}
if (b === 0) {
console.log("Cannot divide by zero");
return;
}
const result = a / b;
console.log("Result:", result);
}
divide(6, 3);
divide(6, 0);
divide("6", 3);

تقليل التداخل باستخدام الإرجاع
أرجع مبكرًا في حالات الفشل؛ ويُرجع السطر الأخير النجاح بوضوح.
// Early returns reduce else blocks
function canVote(age) {
if (typeof age !== "number") {
return false;
}
if (age < 18) {
return false;
}
return true;
}
console.log(canVote(20));
console.log(canVote(15));
console.log(canVote("20"));

نصائح جملة الحراسة
قائمة التحقق:
- تحقّق من المدخلات أولًا.
- أرجع مبكرًا عند الأخطاء أو الحالات الحدية.
- اجعل كل جملة حراسة قصيرة ومحددة.
- اكتب المسار الاعتيادي في النهاية وبصورة مسطحة.

اختبار جملة الحراسة
تحقّق سريع: ما جملة الحراسة؟

مراجعة
مراجعة: استخدم جمل الحراسة لمعالجة المدخلات غير الصالحة أولًا، والإرجاع مبكرًا، والحفاظ على منطقك الرئيسي مسطحًا وسهل القراءة.

الأسئلة الشائعة
هل درس «عمليات الرجوع المبكر وعبارات الحراسة» مجاني؟
نعم — نص درس «عمليات الرجوع المبكر وعبارات الحراسة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
ماذا ستتعلم في «عمليات الرجوع المبكر وعبارات الحراسة»؟
استخدم عمليات الرجوع المبكر وعبارات الحراسة لتبسيط الشروط وتقليل التداخل وتوضيح المسار المعتاد. تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟
لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «عمليات الرجوع المبكر وعبارات الحراسة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟
نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- if/else وswitch — الأنماط الأساسية
- الحلقات: for وwhile وdo…while وfor…of مقابل for…in
- عمليات الرجوع المبكر وعبارات الحراسة