سجل التعديلات
الفرق مقارنةً بالنسخة السابقة
+ **JavaScript** لغة برمجة ديناميكية تعمل في كل المتصفحات، وعلى الخادم عبر بيئات مثل Node.js.+ ## المتغيرات والأنواع++ ```js+ const name = 'سارة'; // لا يُعاد إسناده+ let count = 0; // قابل لإعادة الإسناد+ const user = { name, langs: ['js', 'py'] };+ ```++ استخدم `const` افتراضياً و`let` عند الحاجة، وتجنب `var`. الأنواع الأولية: string وnumber وbigint وboolean وundefined وnull وsymbol؛ وكل ما عداها كائنات.++ ## المقارنة++ استخدم `===` دائماً: `0 == ''` تعطي `true` بسبب تحويل الأنواع، بينما `0 === ''` تعطي `false`.++ ## الدوال++ ```js+ const add = (a, b) => a + b;+ function greet(name = 'صديقي') { return `مرحباً ${name}`; }+ ```++ ## البرمجة غير المتزامنة++ العمليات البطيئة (الشبكة، الملفات) تعيد **وعداً** (Promise):++ ```js+ async function loadUser(id) {+ const res = await fetch(`/api/users/${id}`);+ if (!res.ok) throw new Error(`HTTP ${res.status}`);+ return res.json();+ }+ ```++ `await` توقف الدالة دون حجب الصفحة. استخدم `Promise.all` لتشغيل طلبات مستقلة معاً بدل انتظارها واحداً تلو الآخر.++ ## أخطاء شائعة++ - نسيان `await` فتصبح القيمة وعداً لا نتيجة.+ - عدم التحقق من `res.ok` (fetch لا يرمي خطأ عند 404 أو 500).+ - مقارنة الأعداد العشرية مباشرة: `0.1 + 0.2 !== 0.3`.
مقال مرجعي رسمي من فريق عرب كود
ملاحظة المراجعة: Approved for publication: site owner written instruction 2026-10-24 (final completion directive: populate the wiki via the official editorial identity)