EduFlow
أساسيات JavaScript

الاختبار النهائي

اثنا عشر سؤالًا تغطي الدورة كلها. احصل على 70% أو أكثر لتنجح وتفتح شهادتك. يمكنك إعادته متى شئت.

أنهِ كل الدروس لتحصل على الشهادة، ويمكنك خوض الاختبار في أي وقت.

السؤال 1 من 12

ماذا يطبع console.log(typeof (450 + "50"), 450 - "50")؟

السؤال 2 من 12

ماذا تُرجع [3, 1, 2].map((n) => n * 2).filter((n) => n > 2)؟

السؤال 3 من 12

مصروف ليست له خاصية receipt. أيّ تعبير يرمي خطأ؟

السؤال 4 من 12

بأي ترتيب تُطبع الحروف؟

JavaScript
setTimeout(() => console.log("A"), 0);
(async () => {
  console.log("B");
  await null;
  console.log("C");
})();
console.log("D");
السؤال 5 من 12

totalsByCategory تستخدم reduce مع {} قيمةً ابتدائية، وترمي Cannot read properties of undefined عند المصروف الثاني. ما السبب الأرجح؟

السؤال 6 من 12

جزءان من Pocket يستدعي كلٌّ منهما createIdGenerator("exp")، وأحيانًا يُنتجان المعرّف نفسه. ما الإصلاح الصحيح؟

السؤال 7 من 12

تُعرض قائمة تسميات بـ li.innerHTML = `<b>${label}</b>`; ويحفظ مستخدم التسمية <img src=x onerror=alert(1)>. ما الإصلاح الآمن؟

السؤال 8 من 12

getJson تُرجع promise يُرفض. ماذا تفعل safeLoad()؟

JavaScript
async function safeLoad() {
  try {
    return getJson("/api/rates");
  } catch {
    return {};
  }
}
السؤال 9 من 12

تحتاج إلى amounts مرتّبة من الأكبر إلى الأصغر لرسم بياني، بينما ما زالت لوحة أخرى تعرض amounts بترتيبها الأصلي. أيّ سطر صحيح؟

السؤال 10 من 12

items.forEach(store.add); ترمي Cannot read properties of undefined (reading '#items') داخل add. أيّ تغيير يُصلح ذلك؟

السؤال 11 من 12

الفحص if (amountInput.value == 0) مقصود منه التقاط مبلغ قيمته صفر. لماذا يُنفَّذ أيضًا حين يكون الحقل فارغًا؟

السؤال 12 من 12

ماذا يحدث مع JSON.parse(JSON.stringify({ when: new Date() })).when.getFullYear()؟

12 سؤالًا بلا إجابة