JavaScript
JavaScript لغة برمجة ديناميكية تعمل في كل المتصفحات، وعلى الخادم عبر بيئات مثل Node.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.
الدوال
const add = (a, b) => a + b;
function greet(name = 'صديقي') { return `مرحباً ${name}`; }
البرمجة غير المتزامنة
العمليات البطيئة (الشبكة، الملفات) تعيد وعداً (Promise):
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.