جافاسكربت
28 دقيقة قراءة
2026-04-08
بواسطة فريق CodeVista
تعلم جافاسكربت من الصفر - الدليل الكامل للمبتدئين 2026
جافاسكربت هي لغة البرمجة الأولى للويب. في هذا الدليل الشامل ستتعلم كل شيء من الأساسيات حتى المفاهيم المتقدمة.
جافاسكربت هي اللغة الأكثر استخداماً في تطوير الويب. بحسب استطلاع Stack Overflow 2026، يستخدمها أكثر من 65% من المطورين حول العالم. في هذا الدليل الشامل، ستتعلم جافاسكربت من الألف إلى الياء.
الفرونت إند: React, Vue.js, Angular, Svelte
الباك إند: Node.js, Deno, Bun
تطبيقات الموبايل: React Native, Ionic
سطح المكتب: Electron
الذكاء الاصطناعي: TensorFlow.js
الألعاب: Phaser, Three.js
React أو Vue.js: لبناء واجهات مستخدم حديثة
Node.js: لتطوير الخوادم
TypeScript: لكتابة كود أكثر أماناً
Next.js: لبناء تطبيقات ويب كاملة
ابدأ رحلتك مع مسار جافاسكربت على CodeVista الآن!
لماذا جافاسكربت؟
الحقائق والأرقام:
- أكثر لغة برمجة استخداماً في العالم لمدة 11 عاماً متتالياً
- أكثر من 1.8 مليار موقع ويب يستخدمها
- أكثر من 17 مليون مطور جافاسكربت حول العالم
- متوسط الراتب: 4000-10000 دولار شهرياً في المنطقة العربية
أين تُستخدم جافاسكربت؟
الأساسيات
المتغيرات:
// const - ثابت لا يتغير (الخيار الافتراضي)
const PI = 3.14159;
const siteName = "CodeVista";
// let - متغير قابل للتغيير
let score = 0;
score = 100; // ✅ مسموح
// var - طريقة قديمة (تجنبها)
var oldWay = "لا تستخدمني"; // ❌
أنواع البيانات:
// String - نص
const name = "أحمد";
const greeting = مرحباً ${name}; // Template Literals
// Number - رقم
const age = 25;
const price = 99.99;
// Boolean - منطقي
const isActive = true;
// Array - مصفوفة
const colors = ["أحمر", "أزرق", "أخضر"];
// Object - كائن
const user = {
name: "سارة",
age: 22,
hobbies: ["قراءة", "برمجة"]
};
// null و undefined
const empty = null;
let notDefined; // undefined
العمليات:
// حسابية
console.log(10 + 5); // 15
console.log(10 - 5); // 5
console.log(10 * 5); // 50
console.log(10 / 3); // 3.333...
console.log(10 % 3); // 1
console.log(2 ** 10); // 1024
// مقارنة
console.log(5 === 5); // true (مساواة صارمة)
console.log(5 == "5"); // true (مساواة مرنة - تجنبها)
console.log(5 !== "5"); // true
// منطقية
console.log(true && false); // false
console.log(true || false); // true
console.log(!true); // false
الجمل الشرطية
const grade = 85;
let result;
if (grade >= 90) {
result = "ممتاز";
} else if (grade >= 80) {
result = "جيد جداً";
} else if (grade >= 70) {
result = "جيد";
} else {
result = "يحتاج تحسين";
}
console.log(result);
// Ternary Operator
const status = grade >= 60 ? "ناجح" : "راسب";
// Switch
const day = "الأحد";
switch (day) {
case "الأحد": console.log("بداية الأسبوع"); break;
case "الجمعة": console.log("عطلة!"); break;
default: console.log("يوم عادي");
}
الحلقات التكرارية
// for
for (let i = 0; i < 5; i++) {
console.log(i);
}
// for...of (للمصفوفات)
const fruits = ["تفاح", "موز", "برتقال"];
for (const fruit of fruits) {
console.log(fruit);
}
// for...in (للكائنات)
const person = { name: "أحمد", age: 25 };
for (const key in person) {
console.log(${key}: ${person[key]});
}
// while
let count = 0;
while (count < 3) {
console.log(count);
count++;
}
// forEach
fruits.forEach((fruit, index) => {
console.log(${index}: ${fruit});
});
الدوال
// Function Declaration
function add(a, b) {
return a + b;
}
// Arrow Function (الأكثر شيوعاً في 2026)
const multiply = (a, b) => a * b;
// Default Parameters
const greet = (name = "زائر") => مرحباً ${name}!;
// Rest Parameters
const sum = (...numbers) => numbers.reduce((a, b) => a + b, 0);
console.log(sum(1, 2, 3, 4, 5)); // 15
// Destructuring
const { name: userName, age: userAge } = user;
const [first, ...rest] = colors;
المصفوفات المتقدمة
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// map - تحويل كل عنصر
const doubled = numbers.map(n => n * 2);
// filter - تصفية
const evens = numbers.filter(n => n % 2 === 0);
// reduce - تجميع
const total = numbers.reduce((sum, n) => sum + n, 0);
// find - البحث عن عنصر
const found = numbers.find(n => n > 5);
// some / every
const hasEven = numbers.some(n => n % 2 === 0); // true
const allPositive = numbers.every(n => n > 0); // true
// spread operator
const moreNumbers = [...numbers, 11, 12, 13];
// chaining
const result = numbers
.filter(n => n % 2 === 0)
.map(n => n * 3)
.reduce((sum, n) => sum + n, 0);
Async/Await و Promises
// Promise
const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve({ name: "بيانات من الخادم" });
}, 1000);
});
};
// Async/Await
async function getData() {
try {
const response = await fetch("https://api.example.com/data");
const data = await response.json();
console.log(data);
} catch (error) {
console.error("حدث خطأ:", error);
}
}
// Promise.all
const [users, posts] = await Promise.all([
fetch("/api/users").then(r => r.json()),
fetch("/api/posts").then(r => r.json())
]);
التعامل مع DOM
// اختيار عناصر
const title = document.getElementById("title");
const buttons = document.querySelectorAll(".btn");
const form = document.querySelector("form");
// تعديل المحتوى
title.textContent = "عنوان جديد";
title.innerHTML = "عنوان جديد";
// تعديل الأنماط
title.style.color = "blue";
title.classList.add("active");
title.classList.toggle("hidden");
// الأحداث
buttons.forEach(btn => {
btn.addEventListener("click", (e) => {
console.log("تم النقر!", e.target);
});
});
// إنشاء عناصر
const newDiv = document.createElement("div");
newDiv.textContent = "عنصر جديد";
document.body.appendChild(newDiv);
ES2026 الميزات الحديثة
// Optional Chaining
const city = user?.address?.city ?? "غير محدد";
// Nullish Coalescing
const value = null ?? "قيمة افتراضية";
// Top-level Await
const data = await fetch("/api/data").then(r => r.json());
// Record & Tuple (ES2026)
const point = #{ x: 1, y: 2 };
const coords = #[1, 2, 3];
// Pattern Matching (ES2026)
// قريباً في المتصفحات
مشاريع عملية
1. تطبيق قائمة مهام:
class TodoApp {
constructor() {
this.todos = [];
}
add(text) {
this.todos.push({ id: Date.now(), text, done: false });
}
toggle(id) {
const todo = this.todos.find(t => t.id === id);
if (todo) todo.done = !todo.done;
}
remove(id) {
this.todos = this.todos.filter(t => t.id !== id);
}
getAll() {
return this.todos;
}
}
الخطوات التالية
ابدأ رحلتك مع مسار جافاسكربت على CodeVista الآن!
تعلم جافاسكربتجافاسكربت للمبتدئينJavaScript بالعربيشرح جافاسكربتدورة جافاسكربت مجانية
ابدأ تعلم البرمجة مع CodeVista 🚀
دروس تفاعلية + تيرمنال حقيقي + ذكاء اصطناعي = أفضل تجربة تعلم
ابدأ الآن مجاناً