جاري التحميل...

الإسناد

الجلسة السابقة أعطتك رموزاً تحسب عدداً جديداً. هنا تضع النتيجة في صندوق باسم، ثم تحدّث ذلك الصندوق لاحقاً. الإسناد هو كيف تمتلئ المتغيرات — بـ = وبصيغ قصيرة مثل += تعني «خذ القيمة القديمة، غيّرها، خزّنها من جديد.»

ما هو الإسناد؟

الإسناد يخزّن قيمة داخل متغير. الجانب الأيسر هو الاسم. الجانب الأيمن هو القيمة (أو تعبير ينتج قيمة). بعد let points = 10; يحمل الاسم points القيمة 10. الأسطر التالية قد تقرأ ذلك الاسم أو تخزّن قيمة جديدة فيه.

نظرة سريعة على المعاملات

📊 معاملات الإسناد اليومية

المعامل معناه يكافئ
= تخزين (أول تخزين أو استبدال كامل)
+= أضف ثم خزّن x = x + …
-= اطرح ثم خزّن x = x - …
*= اضرب ثم خزّن x = x * …
/= اقسم ثم خزّن x = x / …
%= خذ الباقي ثم خزّن x = x % …

أبقِ هذا الجدول قريباً. كل اختصار ما زال إسناداً — يطوي الحساب في جملة واحدة. على المبتدئ أن يعيد فتح += ذهنياً إلى x = x + ….

التخزين بـ =

javascript
let points = 10;
console.log(points);
let label = "ready";
console.log(label);
let total = 4 + 6;
console.log(total);

إعادة الإسناد مع let

مع let يستبدل إسناد لاحق القيمة المخزّنة. هذا طبيعي للعدّادات والنقاط وحقول النماذج التي تتغيّر.

إعادة الإسناد مع let

javascript
let score = 0;
console.log(score);
score = 10;
console.log(score);
score = score + 5;
console.log(score);

تعرض الكونسول 0 ثم 10 ثم 15. كل = يكتب قيمة جديدة في score. فضّل const عندما لا يجب أن يتغيّر الاسم بعد أول تخزين — const يرفض إسناداً ثانياً لذلك الاسم.

الإسناد المركّب (الاختصارات)

الاختصارات تحدّث وتخزّن في سطر واحد. يبقى الاسم نفسه على اليسار.

إسناد مركّب

javascript
let n = 8;
n += 2;
console.log(n);
n -= 3;
console.log(n);
n *= 2;
console.log(n);
n /= 4;
console.log(n);
n %= 3;
console.log(n);

ابدأ من 8. بعد += 2 يصبح 10. بعد -= 3 → 7. بعد *= 2 → 14. بعد /= 4 → 3.5. بعد %= 3 → 0.5. تتبّع اختصاراً واحداً في كل مرة حتى يصبح النمط تلقائياً.

+= مع النص

+= يعمل أيضاً عندما تكون القيمة المخزّنة نصاً — يلحق المزيد من النص. مفيد لبناء رسالة خطوة بخطوة.

الإلحاق بـ +=

javascript
let msg = "Hi";
msg += " ";
msg += "Sam";
console.log(msg);
let line = "score=";
line += 12;
console.log(line);

تصبح msg هي "Hi Sam". تصبح line هي "score=12" لأن لصق رقم بنص يحول النتيجة إلى نص. نفس فكرة فخ + من الحساب — اعرف إن كنت تقصد أرقاماً أم رسالة.

= يخزّن؛ === يقارن

علامة يساوي واحدة تخزّن. ثلاث علامات تسأل «هل القيمة والنوع متطابقان؟» الخلط بينهما خطأ كلاسيكي للمبتدئ: كتابة if (x = 5) تخزّن 5 بدل المقارنة.

الإسناد مقابل المقارنة

javascript
let x = 5;
console.log(x);
console.log(x === 5);
console.log(x === "5");
x = 9;
console.log(x === 9);

بعد let x = 5 يظهر سجل x القيمة 5. x === 5 تكون true. x === "5" تكون false (رقم مقابل نص). لاحقاً x = 9 يخزّن قيمة جديدة؛ ثم x === 9 تكون true. درس المقارنة العميق قادم — هنا يكفي تمييز التخزين عن السؤال.

عدّاد على الصفحة

خزّن عدداً ابتدائياً، زِده بـ +=، واكتب النتيجة في الصفحة.

عدّاد الصفحة مع الإسناد

html
<!DOCTYPE html>
<html>
<head>
<title>Assignment — page counter</title>
</head>
<body>
<p id="out">…</p>
<script>
let clicks = 0;
clicks += 1;
clicks += 2;
let box = document.getElementById("out");
box.textContent = "clicks=" + clicks;
</script>
</body>
</html>

ابدأ من 0، أضف 1، ثم أضف 2 → تظهر الصفحة clicks=3. غيّر الاختصارات، حدّث الصفحة، وتأكد من النص. الأزرار الحقيقية قد تستدعي الفكرة نفسها لاحقاً؛ هذا العرض يوضح التخزين والتحديث فقط.

جرّبها بنفسك

  1. خزّن let a = 3، اطبع a، ثم أسند a = 7 واطبع مجدداً.
  2. ابدأ بـ let n = 10، نفّذ n += 4، اطبع n.
  3. من ذلك n نفّذ n *= 2 واطبع.
  4. ابنِ let s = "Go" ثم s += "!" واطبع.
  5. اطبع 7 === 7 و7 === "7" جنباً إلى جنب.
  6. في عرض HTML غيّر فقط الاختصار الثاني (+= 2)، حدّث الصفحة، واقرأ قيمة clicks الجديدة.

أخطاء شائعة

  • كتابة = عندما تقصد === داخل شرط
  • محاولة إعادة إسناد اسم const بعد أول تخزين
  • نسيان اسم المتغير على اليسار (+= 5 وحده غير صالح)
  • افتراض أن += للأرقام فقط — النصوص تُلحق أيضاً
  • خلط الإسناد (تخزين) مع الحساب (إنتاج قيمة جديدة دون هدف مسمّى)

الخلاصة

  • = يخزّن قيمة في متغير
  • let يسمح بتخزين لاحق؛ const يثبّت أول تخزين
  • += -= *= /= %= تحدّث وتخزّن في خطوة واحدة
  • += قد يلحق نصاً أو يضيف أرقاماً
  • = يخزّن؛ === يقارن — لا تبدّلهما
  • التالي: المقارنات — طرح الأسئلة بـ === و!== و< و> ورفاقها

🧠 اختبر معرفتك

جاهز للبدء

اختبر معرفتك

تحدى نفسك مع هذا الاختبار التفاعلي واكتشف مدى فهمك للموضوع

❓
8
الأسئلة
🎯
70%
للنجاح
♾️
∞
الوقت
🔄
∞
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى