تخطَّ إلى المحتوى
ARAB CODEمجتمع المطورين العرب

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.

المصادر

  1. MDN — JavaScript
  2. ECMAScript specification